알마-0
Alma-0| 패러다임 | 멀티패키지: 제약, 명령, 논리 |
|---|---|
| 가족 | 워스 모듈라 |
| 설계자 | Krzystof 아파트, Marc Bezem, Jacob Brunkree, Vincent Partington, Andrea Schaerf |
| 개발자 | Centrum Wiskunde & Informatica |
| 처음 등장한 | 전( |
| 타이핑 분야 | 정적인 |
| 범위 | 어휘(정적) |
| 웹 사이트 | www |
| 주요 구현 | |
| 알마-0 | |
| 영향을 받다 | |
| 모듈라-2 | |
Alma-0은 멀티패러다임 컴퓨터 프로그래밍 언어입니다.이 언어는 논리 프로그래밍 기능과 편리한 역추적 [1]기능을 갖춘 필수 Modula-2 언어의 확장 버전입니다.이는 작고 강력한 유형으로, 논리 프로그래밍에서 영감을 얻은 제한된 수의 기능인 제약 조건 프로그래밍을 결합하고 명령적 패러다임을 지원합니다.그 언어는 선언적 프로그래밍을 지지한다.설계자들은 이 솔루션을 사용하여 구축된 검색 지향 솔루션이 순전히 명령형 또는 논리 프로그래밍 [2]스타일로 작성된 솔루션보다 훨씬 단순하다고 주장합니다.Alma-0은 검색 [3]트리를 구축하기 위한 자연스럽고 높은 수준의 구조를 제공합니다.
개요
Alma-0의 설계자는 선언적 프로그래밍 구조(자동 역추적 등)를 필수 프로그래밍에 통합하려는 이전의 시도보다 독특하고 상당히 단순한 제안을 만들고 싶었기 때문에, Alma-0의 설계는 다음 4가지 원칙에 따라 수행되었습니다.
- 논리 기반 확장은 기본 명령형 프로그래밍 언어와 하위 호환되어야 합니다.
- 논리 기반 확장은 제약 조건 프로그래밍을 지원하는 미래 확장과 위쪽으로 호환되어야 합니다.
- 확장을 구현할 구성 요소는 선언적 프로그래밍을 지원하고 장려해야 합니다.
- 9개의 새로운 기능이 제안되어 구현되었기 때문에 확장을 작게 유지해야 합니다.
Alma-0은 구체적이고 구체적인 프로그래밍 언어 제안일 뿐만 아니라 선언적 프로그래밍을 지원하는 기능을 갖춘 명령형 프로그래밍 언어를 확장하는 일반적인 방법의 한 예로 볼 수 있습니다.
Alma-0 접근법의 실현 가능성은 Modula-2의 서브셋에 대한 언어(의미론 설명 포함)의 완전한 구현을 통해 입증되었다.
특징들
Alma-0에는 다음과 같은 기능이 실장되어 있습니다.
- 부울식을 문으로 사용하거나 그 반대로 사용합니다.
- 의 듀얼
FOR선택 포인트와 역추적 형태로 비이성주의를 도입하는 성명 - A
FORALL백트래킹에 대한 제어된 반복 형식을 도입하는 스테이트먼트 - 할당으로서의 평등 사용에 한정되어 있지만 새로운 파라미터 전달 메커니즘을 생성하는 통일.
명령형 및 논리형 프로그래밍
Alma-0 설계자는 순수 선언형 및 논리 프로그래밍에서는 일반적으로 배제되는 할당이 실제로 카운트 및 기록 목적을 포함한 많은 자연 상황에서 필요하다고 주장합니다.그들은 또한 논리 프로그래밍 패러다임 내에서 할당의 그러한 "자연적인" 사용의 표현 수단이 부자연스럽다고 단언한다.
레퍼런스
- ^ Liu, Jed; Myers, Andrew C. (2003). JMatch: Iterable Abstract Pattern Matching for Java. Lecture Notes in Computer Science. Vol. 2562/2003. pp. 110–127. doi:10.1007/3-540-36388-2_9. ISBN 978-3-540-00389-2.
- ^ Partington, Vincent (July 1997). Implementation of an Imperative Programming Language with Backtracking (PDF) (Report). University of Amsterdam Programming, Research Group. Retrieved 15 February 2021. 포스트스크립트에도 있습니다.
- ^ Van Hentenryck, Pascal; Perron, Laurent; Puget, Jean-François (October 2000). "Search and strategies in OPL". ACM Transactions on Computational Logic. 1 (2): 285–320. CiteSeerX 10.1.1.17.836. doi:10.1145/359496.359529. S2CID 15926704.
- 야콥 브루크리프(1998)."프로그래밍 언어 Alma-0의 구문 및 의미론에 대한 주석 대수적 사양"
- Krzystof R.아파트, 제이콥 브루크리프, 빈센트 파팅턴, 안드레아 샤어프(1998)."Alma-0: 선언적 프로그래밍을 지원하는 명령어"
- Krzystof R.아파트 안드레아 샤르프(1998)."Alma-0에서의 프로그래밍 또는 명령형 및 선언형 프로그래밍 조정"
- Krzystof R.아파트 안드레아 샤르프(1998)."제한조건을 명령형 프로그래밍 언어로 통합"
- Krzystof R.아파트는 안드레아 샤르프(1999년)."Alma Project, 즉 1차 로직이 명령형 프로그래밍에 도움이 되는 방법"