[[분류:함수형 언어]] [include(틀:토막글)] [include(틀:프로그래밍 언어)] == 개요 == 엘릭서 프로그래밍 언어는 José Valim이 설계했으며, Plataformatec 의 연구과제이다. 그는 [[얼랭]] 도구와 생태계를 계승하면서 얼랭 VM에서 작동하는 높은 확장성과 생산성을 가진 언어를 만들고자 했다. == 특징 == * 엘릭서 [[컴파일러]]는 소스코드를 [[얼랭]] [[가상 머신]]용 바이트 코드(BEAM, Bogdan's Erlang Abstract Machine)로 [[컴파일]]한다. * 모든 것은 expression이다. side effect를 동반하는 statement와는 다르다. * 얼랭 함수들은 런타임 영향 없이 엘릭서에서 호출될 수 있다. * 메타 프로그래밍을 지원한다. * [[프로토콜]]이라고 불리는 메카니즘에 의해 다형성을 지원한다.[[Clojure|클로저]] reducers에서 영향을 받았다. * [[마크다운]] 형식언어의 문서화를 지원한다. * 메시지 전달 방식을 지원한다.(Actor model) * 루프 대신에 [[재귀]]와 고차원 함수를 강조한다. * 얼랭의 메카니즘을 활용하여 경량 동시성을 지원한다. (e.g. Task) * Lazy와 async collections을 지원한다. * 패턴매칭을 지원한다. * [[유니코드]]를 지원하며 스트링들은 UTF-8이다. == 도서 == [[https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=290624590|처음 배우는 엘릭서 프로그래밍]] 엘릭서 프로그래밍을 다루는 유일한 한국어 번역서이다.