대수 논리 기능 프로그래밍 언어

Algebraic Logic Functional programming language

ALF라고도 알려진 대수 논리 기능 프로그래밍 언어는 기능 프로그래밍 기법과 논리 프로그래밍 기법이 결합된 프로그래밍 언어다. 그것의 기반은 로직 프로그래밍을 위한 술어와 혼 절, 기능 프로그래밍을 위한 기능과 방정식으로 구성된 동등성을 가진 혼 절 논리이다.

ALF는 두 프로그래밍 패러다임의 진정한 통합을 위해 설계되었으며, 따라서 어떤 기능적 표현도 목표 문자 그대로 사용할 수 있고 임의 술어는 방정식의 조건에서 발생할 수 있다. ALF의 운영 의미론은 리터럴을 풀고 기능적 표현을 평가하기 위해 좁히는 해상도 규칙에 근거한다. 가능한 좁혀질 수 있는 단계를 줄이기 위해, 가장 왼쪽에 있는 기본 좁혀질 전략을 사용하며, 이를 효율적으로 실행할 수 있다고 주장한다.[citation needed] 용어는 좁은 단계가 적용되기 전에 재작성하여 단순화하고, 상부에 서로 다른 시공자가 있으면 방정식을 기각한다. 재작성 및 거부는 검색 트리를 크게 줄이고 프롤로그의 해결 전략보다 효율적인 운영 의미론을 생성하도록 되어 있다. Prolog와 마찬가지로 ALF는 파생 트리에서 깊이 우선 검색에 해당하는 역추적 전략을 사용한다.

ALF 시스템은 해결, 축소, 재작성, 거부 등의 조합을 효율적으로 구현하기 위해 설계되었다. ALF 프로그램은 추상적인 기계의 지시로 편집된다. 이 추상 기계는 좁히고 다시 쓰기를 구현하기 위해 몇 개의 확장을 가진 WAM(Warren Abstract Machine)을 기반으로 한다. 현재 이 추상 기계의 ALF 구현 프로그램은 C로 작성된 에뮬레이터에 의해 실행된다.

카네기멜론대학 인공지능 리포지토리에서는 AI 프로그래밍 언어로, 특히 기능/로직 프로그래밍 언어 프롤로그 구현으로 ALF가 포함되어 있다.[1][2] 시스템의 언어와 사용을 설명하는 사용자 매뉴얼을[3] 사용할 수 있다. ALF 시스템은[4] 유닉스 산하에 운영되며, "평가, 연구, 교육 목적"을 위해 사용할 수 있는 권리를 부여하는 사용자 지정 독점 소프트웨어 라이센스에 따라 사용할 수 있지만 상업적 또는 군사적으로 사용할 수는 없다.[5]

참조

  1. ^ "CMU Artificial Intelligence Repository". Carnegie Mellon University. 1995-02-13. Archived from the original on 23 June 2007. Retrieved 2007-06-22.
  2. ^ "ALF: Algebraic Logic Functional programming language". CMU Artificial Intelligence Repository. Carnegie Mellon University. 1995-02-13. Archived from the original on 10 May 2007. Retrieved 2007-06-22.
  3. ^ Hanus, Michael; Andreas Schwab (1995-02-13). "ALF User's Manual" (PDF). Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived (PDF) from the original on 11 July 2007. Retrieved 2007-06-22.
  4. ^ Hanus, Michael. "The ALF System". Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived from the original on 25 June 2007. Retrieved 2007-06-22.
  5. ^ Hanus, Michael. "ALF License Agreement". The ALF System. Institut für Informatik, Christian-Albrechts-Universität zu Kiel. Archived from the original on 2 December 2015. Retrieved 2020-03-06.

외부 링크