위키득계정 ↗
기술

Flix

Flix기술
분류
정적 타입 프로그래밍 언어
주요 관점
효과 지향 프로그래밍
지원 방식
함수형 명령형 논리 프로그래밍
주요 구성
대수적 자료형과 효과 핸들러
Flix는 함수형·명령형·논리 프로그래밍을 결합한 정적 타입 언어다. 효과 시스템으로 부작용을 표현하고 사용자 정의 효과와 핸들러로 동작을 구성한다.

반환값 이외의 행동 표현

함수가 값을 돌려주는 동안 파일을 읽거나 외부 상태를 바꿀 수도 있다. Flix는 이러한 효과를 타입과 함께 다루어 코드가 어떤 행동을 수행할 수 있는지 드러낸다. 부작용을 표현하는 것은 그 행동이 업무 요구에 맞는지 증명하는 것과는 다르다.

효과와 처리 방식 분리

사용자 정의 효과는 필요한 동작을 표현하고 핸들러는 그 동작을 어떻게 수행할지 정한다. 이렇게 분리하면 제어 흐름이나 테스트 구성을 바꿀 수 있다. 표준 라이브러리에도 여러 효과와 기본 처리기가 포함된다.

여러 표현 방식의 결합

대수적 자료형과 패턴 대응, 확장 가능한 레코드 등을 제공한다. 지역 안의 변경 가능한 상태를 사용하는 기능도 있다. 코드 내부에서 상태를 바꾼다는 사실과 바깥에서 관찰되는 함수의 순수성은 구분되며, 언어 규칙에 따라 판단해야 한다.

관련 문서

Souffle / Rosette 프로그래밍 언어 / Fstar / Idris 2