머큐리 (프로그래밍 언어)

머큐리(Mercury)는 함수·논리형 언어이다. 멜버린 대학교의 컴퓨터 과학부에서 개발하였으며, 1995년도에 처음 공개되었다. 머큐리는 순수 선언형 언어로 프롤로그와 하스켈의 영향을 받았으며, 구현체인 멜버른 머큐리 컴파일러는 다양한 플랫폼에서 동작할 수 있을 뿐만 아니라 여러 백엔드도 지원한다.

언어적으로 강적·정적·다형적 형 시스템이며, 프롤로그를 기반으로 하고 있으면서 기본 개념을 공유하고 있기 때문에 문법에 있어서 언어 특성에 따른 부분을 제외하고는 많은 부분이 비슷하게 보인다.

문법 
겉으로 보기에는 대체로 비슷해 보인다. 살펴 본다면,
 숫자는 프롤로그와 달리 정수와 실수를 구분한다.
 문자열은 인용부호("")로 감싸야 한다.
 리스트는 빈 리스트 [], 숫자 리스트 [1,2,3], 문자 리스트 [a,b,c] 따위로 사용할 수 있으며, [Head | Tail] 로 쪼개는 것도 그대로 따르고 있다. 리스트의 표현 [1,2,3] = [1|[2|[3|[]]]] = '.'(1,'.'(2,'.'(3, []))).
 규칙(또는 절)은 Head = Result :- Body 의 구조를 가지며, 명세적인 내용물이 작성되는 바는 그것이 어떻게 선언과 결정이 되었느냐에 따라 조금씩 달라진다.

예제 
:- module fac.
:- interface.
:- import_module io.

:- pred main(io::di, io::uo) is det.

:- implementation.
:- import_module int.

:- func fac(int) = int.
fac(N) = F :- ( N = 0 -> F = 1
              ; F = N * fac(N-1)
              ).

main -->
    io.write_string("Hello, factorial!\n"),
    io.write_int(fac(10)),
    io.nl.
 mmc -m fac

외부 링크 
  머큐리 공식 웹사이트

논리형 프로그래밍 언어
함수형 프로그래밍 언어
크로스 플랫폼 자유 소프트웨어
닷넷 프로그래밍 언어
1995년 개발된 프로그래밍 언어