SWI-프로로그

SWI-Prolog
SWI-프로로그
원본 작성자얀 팰리메이커
개발자얀 팰리메이커, 안조 안제위엔 등
초기 릴리즈1987; 35년 전 (1998년)
안정적 해제
8.4.1 / 2021년 11월 16일; 3개월 전(2021-11-16)
릴리스 미리 보기
8.5.7 / 2022년 2월 4일; 13일 전(2022-02-04)
리포지토리
기록 위치C, 프롤로그
운영 체제크로스 플랫폼
다음에서 사용 가능영어
유형논리 프로그래밍
면허증단순화된 BSD, 7.3.33 이전 버전의 LGPL
웹사이트swi-prolog.org

SWI-Prolog는 프로그래밍 언어 Prolog의 무료 구현으로, 일반적으로 티칭 및 의미 웹 애플리케이션에 사용된다.풍부한 기능 집합, 제약 조건 로직 프로그래밍을 위한 라이브러리, 멀티스레딩, 유닛 테스트, GUI, Java, ODBC 및 기타와의 인터페이스, 리터레이트 프로그래밍, 웹 서버, SGML, RDF, RDFS, 개발자 도구(GUI 디버거 및 GUI 프로파일러가 있는 IDE 포함), 광범위한 문서화.

SWI-Prolog는 Unix, Windows, Macintosh 및 Linux 플랫폼에서 실행된다.

SWI-Prolog는 1987년부터 지속적인 개발을 진행해왔다.이 책의 주요 저자는 얀 팰리메이커다.

SWI라는 이름은 윔메이커가 고용되어 있는 암스테르담 대학교의 그룹의 이전 이름인 Sociaal-Wetenschelijke Informatica("사회과학 정보학")에서 유래되었다.이 그룹의 이름은 HCS(Human-Computer Studies)로 바뀌었다.

웹 프레임워크

SWI-Prolog는 명확한 조항 그래머를 기반으로 웹 프레임워크를 설치한다.[1]

분산 컴퓨팅

SWI-Prolog 쿼리는 Pengines 시스템을 통해 여러 서버와 웹 페이지에 분산될 수 있다.[2]

XPCE

XPCE는 SWI-Prolog, Lisp 및 기타 대화형 및 동적으로 입력된 언어를 위한 플랫폼 독립적인 객체 지향[3] GUI 툴킷이다.XPCE는 언어에 독립적으로 설계되었지만, 주로 프롤로그로 인기를 얻었다.개발 XPCE 그래픽 툴킷은 SWI-Prolog와 함께 1987년에 시작되었다.

버튼, 메뉴, 슬라이더, 탭 및 기타 기본 GUI 위젯을 지원하며, XPCE는 SWI-Prolog가 지원하는 모든 플랫폼에서 사용할 수 있다.

파이맥스

PceEmacs는 SWI-Prolog가 내장된 편집기다.PceEmacs는 Prolog(및 XPCE)에서 구현된 Emacs 클론이다.SWI-Prolog 파서를 호출하여 적절한 들여쓰기, 구문 강조 표시, 전체 구문 확인, 싱글톤 변수에 대한 경고, Prolog 데이터베이스의 소스 정보에 기반한 술어 정의 찾기 등을 지원한다.

Java와 Prolog(JPL) 간 인터페이스

JPL은 자바와 프롤로그 사이의 양방향 인터페이스다.[4]SWI-Prolog와 Java SDK가 모두 필요하다.[5]SWI-Prolog의 일부로 설치된다.

구속조건 로직 프로그래밍 라이브러리(CLP)

구속조건 로직 프로그래밍 기능은 SWI-Prolog의 수명에 다소 늦게 도달했는데, 이는 기본적인 지원이 부족했기 때문이다.[6]이것은 언어에 귀속 변수가 추가되었던 2004년 초에 바뀌었다.Leuven CHR 라이브러리는 그때 SWI-Prolog에 포팅된 최초의 CLP 라이브러리였다.Reals에 대해 비선형 제약조건을 제공하고 CR 위에 구현된 SWI-Prolog의 ENBERP(R) 라이브러리(De Koninck et al. 2006)를 언급한다.이후 크리스천 홀즈바우르의 CLP(QR) 도서관과 유한영역 CLP(FD) 해결사가 입항했다.마지막으로, 부울 CLP(B) 해결기가 추가되었다.[7]

참고 항목

참조

  1. ^ Wielemaker, Jan; Huang, Zhisheng; van der Meij, Lourens (2008). "SWI-Prolog and the Web" (PDF). Theory and Practice of Logic Programming. 8 (3): 363–392. doi:10.1017/S1471068407003237. S2CID 5404048.
  2. ^ Wielemaker, Jan; Lager, Torbjorn (14 May 2014). "Pengines: WebLogic Programming Made Easy". Theory and Practice of Logic Programming. 14 (special issue 4–5): 539–552. arXiv:1405.3953. doi:10.1017/S1471068414000192. S2CID 9949345.
  3. ^ XPCE/Prolog의 프로그래밍.
  4. ^ Paul Singleton, Fred Dushin, Jan Wielemaker (February 2004). "JPL: A bidirectional Prolog/Java interface". SWI-Prolog.{{cite web}}: CS1 maint: 작성자 매개변수 사용(링크)
  5. ^ Paul Singleton (February 2004). "JPL 3.x installation". SWI-Prolog.
  6. ^ Jan Wielemaker, Tom Schrijers, Markus Triska, Torbjörn Lager: SWI-Prolog.TPLP 12(1–2): 67–96(2012).
  7. ^ 마르쿠스 트리스카:SWI-Prolog(시스템 설명)의 부울 구속조건 해결사.FLOPS 2016: 45–61.

외부 링크