머큐리 (프로그래밍 언어): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
편집 요약 없음
Mulmandu (토론 | 기여)
덧. 사용
21번째 줄:
'''머큐리'''(Mercury)는 [[함수형 프로그래밍|함수]]·[[논리형 프로그래밍|논리형]] [[프로그래밍 언어|언어]]이다. 멜버린 대학교의 컴퓨터 과학부에서 개발하였으며, 1995년도에 처음 공개되었다. 머큐리는 순수 [[선언형 프로그래밍|선언형]] 언어로 [[프롤로그]]와 [[하스켈]]의 영향을 받았으며, 구현체인 Melbourne Mercury 컴파일러는 다양한 플렛폼에서 동작할 수 있을 뿐만 아니라 여러 백엔드도 지원한다.
 
언어적으로 강적·정적·다형적 형 시스템이며, 프롤로그를 기반으로 하고 있으면서 기본 개념을 공유하고 있기 때문에 문법에 있어서 언어 특성에 따른 부분을 제외하고는 많은 부분이 비슷하게 보인다.
 
== 사용 ==
겉보기에 매우 비슷해 보인다. 가령 살펴 본다면,
* '''숫자'''는 프롤로그와 달리 정수와 실수를 구분한다.
* '''문자열'''은 인용부호("")로 감싸여져야 한다.
* '''리스트'''는 빈 리스트 [], 숫자 리스트 [1,2,3], 문자 리스트 [a,b,c] 따위로 사용할 수 있으며, [Head | Tail] 로 쪼개는 것도 그대로 따르고 있다. 리스트의 표현 [1,2,3] = [1|[2|[3|[]]]] = '.'(1,'.'(2,'.'(3, []))).
* '''규칙'''(또는 절)은 Head = Result :- Body 의 구조를 가지며, 명세적인 내용물이 작성되는 바는 그 것이 어떻게 선언과 결정이 되었느냐에 따라 조금씩 달라진다.
 
== 예제 ==
줄 40 ⟶ 47:
 
main -->
io.write_string("Hello, Factorialfactorial!\n"),
io.write_int(fac(10)),
io.nl.
</pre>
mmc fac.m
 
== 바깥 고리 ==