Logtalk는 대부분의 Prolog 구현을 백엔드 컴파일러로 사용할 수있는 객체 지향 논리 프로그래밍 언어입니다. 다중 패러다임 언어 인 Logtalk는 프로토 타입과 클래스, 프로토콜 (인터페이스), 카테고리 기반 구성을 통한 구성 요소 기반 프로그래밍, 이벤트 중심 프로그래밍 및 고급 멀티 스레딩 프로그래밍을 모두 지원합니다.
이 릴리스의 새로운 내용 :
* 개선 : 실제 meta-call이 절의 head와 변수를 공유하지 않을 때`meta_predicate / 1` 지시어 경고를 잘못 입력하지 마십시오.
* 개선 : 'call // 1'래퍼를 요구하지 않고 문법 규칙에서 람다 식을 사용하도록 허용.
* FIXED : 결과 목표가 사용자 술어 정의의 인라인으로 인해 Prolog 내장 술어에 대한 호출 일 때 클로저 메타 인수 컴파일에서의 최적화 버그.
* FIXED : 결과 목표가 Prolog`: / 2` 컨트롤 구조체에 대한 호출 일 때 closure 메타 인수를 컴파일 할 때의 최적화 버그.
버전 3.19의 새로운 기능 :
* ADDED : lint에 대한 추가 Prolog 내장 술어 정의 지원
어댑터 파일을 사용하여 항상 true 또는 false 인 목표 확인
후크 술어``$ lgt_candidate_tautology_or_falsehood_goal_hook '/ 1`.
* ADDED : 컴파일 결과 객체에 대한 객체 속성 'module`
Prolog 모듈.
* ADDED : 'syntax_error / 1` 메소드와'syntax_error / 1` 메소드가 내장 된 편리한 에러.
`system_error / 0`. 이 메소드는 표준`error / 2` 예외 조건을 던집니다.
`context / 1`과`throw / 1` 메소드 호출의 시퀀스와 동일하다.
* REMOVED : 더 이상 사용되지 않는 Logtalk 2.x`calls / 1`,`uses / 1` 및
`alias / 3` 지시어.
* REMOVED : 더 이상 사용되지 않는 Logtalk 2.x`: / 1` 제어 구조를 지원합니다.
* REMOVED : 지원 중단 된 Logtalk 2.x 'unknown', 'singletons'
`tmpdir`,`version` 컴파일러 플래그들입니다.
버전 3.14의 새로운 기능 :
새로운 기능 : _ 매개 변수 변수 지원 _
`parameter / 2`와`this / 1` 내장 메소드를 사용하여 엔티티 매개 변수에 접근합니다.
매개 변수 변수는 파라 메트릭 개체 식별자에 사용되는 변수입니다.
밑줄 (_VariableName_`)로 시작하고 끝납니다. 발생
요소 절의 매개 변수 변수에 대해 암시 적으로
엔티티 매개 변수 이는 엔티티 매개 변수가 추가, 재배치되거나
이를 참조하는 절을 변경하지 않고 제거 할 수 있습니다.
매개 변수 변수는에서 정의 된 파라 메트릭 엔티티에 대해서만 지원됩니다.
새로운 기능 :
새로운 기능 : 일치하는 절이없는 로컬 정적 조건 자에 대한 호출을 탐지하는 컴파일러 지원 (일명 사소한 실패)
p> 버전 3.11.1의 새로운 기능 : * 개선 사항 : 컴파일러 경고 및 오류 메시지로 인해 편집기와 IDE의 구문 분석을 용이하게하고 잠재적으로 큰 용어를 인쇄하지 않도록합니다.
* 개선 : 컴파일러는 더 이상 '{} / 1` 컴파일러 바이 패스 제어 구조를 사용하여 첫 번째 인수가 모듈 규정 된 용어 인 데이터베이스 및 반사 술어에 대한 호출을 요구하지 않습니다.
* 개선 : 첫 번째 인수가 모듈 규정 된 용어 인 데이터베이스 및 반사 술어 호출에 대한 컴파일러 오류 검사.
* 개선 :`logtalk_make / 0-1` 술어 호출에 의해 트리거 된 파일 재로드의 수를 최소화하십시오.
* FIXED :`logtalk_make / 0-1` 술어가 컴파일이 컴파일 에러를 일으킨 파일을 다시 적재하지 못하는 경우
버전 3.11의 새로운 기능 :
* 변경됨 : 내장 된 술어`current_event / 5`는 언 바운드와 함께 호출 될 때 첫 번째 인자를 항상 인스턴스화합니다.
* ADDED : 다음을 정의하여 기본 스크래치 디렉토리를 대체하도록 지원합니다.
백엔드 Prolog 초기화 파일의 라이브러리 별명`scratch_directory`
(Logtalk 로딩 이전에로드 된 것으로 가정). 토론 후
Douglas R. Miles의 읽기 전용 디렉토리에 Logtalk 설치 지원
충돌없이 여러 Logtalk 인스턴스를 동시에 실행합니다.
* ADDED : 접근을 제공하기위한 'context / 1` 내장 된 컨텍스트 실행 메소드
술어 호출 실행 컨텍스트에 연결합니다. 주로 기본값을 제공하는 데 사용됩니다.
술어 인수를 유형 점검 할 때 오류 컨텍스트.
* ADDED :`debug`및`debug (_)`종류의 메시지 인쇄를 지원합니다. 이들
메시지는`debug` 플래그가 켜져있을 때만 기본적으로 출력됩니다.
* ADDED :`logtalk :: loaded_file_property / 2`에 속성`include (File)`포함
역 추적에 의해 포함 된 모든 파일을 열거 할 수있는 술어
(include / 1 지시어 사용).
버전 3.10.7의 새로운 기능 :
* RENAMED : 'check'에`logtalk_make / 1` 타겟이`누락 '되었습니다.
* ADDED : 사용자가 정의한`logtalk_make / 1` 타겟 확장 지원
새로운 다중 파일 술어`logtalk_make_target_action / 1`을 사용하는 작업.
* ADDED : 컴파일러 lint는 동어 반복 및 거짓 엔터티 목표를 확인합니다.
현재 검사 된 Prolog 통합, 비교 및 유형 호출입니다.
내장 술어 테스트. 배리 에반스 (Barry Evans)가 제안했다.
버전 3.10.5의 새로운 기능 :
* 고정 : 메타 콜 실행 컨텍스트 내장 메소드를 사용할 때 릴리즈 3.10.2에서 도입 된 회귀.
* FIXED : Prolog 내장 술어와 보조 절 (일반적으로 term-expanding 메카니즘에 의해 생성 된)에있는 함수 호출에 이식성 검사를 적용하여 컴파일러 오류가 발생했습니다.
버전 3.10.3의 새로운 내용 :
* 개선 : multifile 술어에 대해 생성 된 단순화 된 코드.
* FIXED : 멀티 파일 컴파일시 이전 릴리스의 회귀.
버전 3.09.1의 새로운 기능 :
* ADDED :`number_of_rules / 1`과`number_of_user_rules / 1` 객체 지원
카테고리 속성.
* ADDED :`number_of_rules / 1` 술어 속성 지원.
* ADDED : 목표를 잘못 지정하는`meta_predicate / 1` 지시자 탐지
실제로`call / 2-N` 메타 술어에 전달 된 클로저 인 메타 인수
전화. Arun Majumdar에게 감사드립니다.
* ADDED : 존재하지 않는 누락 된 술어 범위 지시문 탐지
* 변경 : 설정 파일도 사용자 홈 디렉토리에서 조회됩니다.
시작 디렉토리 나 Logtalk 사용자 디렉토리에서 찾을 수없는 경우.
`settings_file` 플래그를`restrict`로 설정하면
설정 파일을 Logtalk 사용자 디렉토리 및 사용자 홈 디렉토리에 저장합니다.
이 변경 사항은 팀이 Logtalk 설치를
`LOGTALKHOME`과`LOGTALKUSER` 환경 변수는
동일한 디렉토리.
* 변경 : 컴파일러 오류 및 경고 메시지에서 파일 및 라인 정보가 항상 보고 된 문제의 마지막 행.
버전 3.07.0의 새로운 기능 :
* ADDED : 백엔드 Prolog 컴파일러를 설명하는`unicode` 읽기 전용 플래그.
유니 코드 표준 지원.
* ADDED :`++`(땅) 및`--` (언 바운드) 인자 실체화에 대한 지원
`mode / 2` 술어와 함께 사용할 모드 (접두사 연산자로 선언)
지령.
* ADDED :`mode / 2`에서`one_or_error` 결정론을 지원합니다.
술어 지시어. 형식 검사 술어를 문서화하는 데 유용합니다.
* 개선 : 존재하지 않는 계량화 된 목표를
`bagof / 3`과`setof / 3` 호출의 범위.
* FIXED :`uses / 2` 지시어를 컴파일 할 때,
별명이 정의되지 않을 때`user`에 내장 된 술어에 대한 런타임 사용.
* FIXED : 파일에 대한 컴파일 실패를 상위 파일로 전달할 때,
상위 조상으로 시작하여 파일 조상이 다시로드되도록하십시오.
make 메카니즘에 의해.
* FIXED :`logtalk_make / 0` 또는`logtalk_make / 0` 호출시 중복 파일 재로드를 피하십시오.
`logtalk_make / 1`을 타겟`all`과 비교합니다.
* FIXED : 호출시 '^^ / 1` 호출에서 누락 된 조건 자 검출
`logtalk_make / 1`을 타겟`missing`과 비교합니다.
* FIXED : 리플렉션 API의 버그로, 일부 술어 상호 참조
정보가 기록되지 않았습니다. 버그 보고서에 대한 Edward Schwartz에게 감사드립니다.
버전 3.06.2의 새로운 기능 :
이 릴리스는 Kyndi, Inc.의 후원으로 개발자 도구 개선에 대한 작업을 계속합니다. 여기에는 일반 Prolog 응용 프로그램 포팅 용 랩퍼 도구의 새로운 버전과 lgtunit 및 다이어그램 도구에 대한 개선 및 수정 사항이 포함되어 있습니다. 또한 새로운 단위 테스트, 컴파일러 및 문서 수정, Lean Prolog 호환성 업데이트가 포함되어 있습니다.
버전 3.04.1의 새로운 기능 :
* FIXED : `compile_aux_clauses / 1` 메쏘드를 호출하여 term-expanded 된 술어는 연속적이지 않은 것으로 잘못보고 될 수 있습니다.
* FIXED :`user` 의사 오브젝트 내에서`threaded_notify / 1` 내장 술어를 호출 할 때 문서마다 바운드 인수가 필요하지 않습니다.
* FIXED :`number_of_clauses / 1` 또는`number_of_user_clauses / 1` 속성 인수로`object_property / 2` 및 category_property / 2` 내장 술어를 결정적으로 호출합니다.
버전에서 새로운 내용 3.03.0 :
* FIXED : 람다에`true / 0`을 사용하여 람다 식에서 버그를 검사하는 중 오류가 발생했습니다.
골. 버그 리포트에 대해 Boris Vassilev에게 감사드립니다.
* FIXED :`logtalk_make / 1` 술어가 성공할 것입니다 (경고를 출력 한 후
메시지) 대신 인스턴스화되지 않았거나 유효하지 않은 인수로 호출 된 경우
실패. ~로
다중 파일 술어를 사용하여 더 나은 중간 Prolog 파일 생성
퍼가기 경험. 특히 점진적 포함을 쉽게 수행 할 수 있습니다.
* 개선 : make 술어는 이제 파일의 상위 파일을 다시로드합니다.
컴파일 또는 로딩 오류. 이렇게하면 오류가있는 파일이
로더 파일의 모든 파일을 컴파일하고, 오류가 발생한 후에 나열된 파일
결함 파일이 수정되고 make 술어가 다음과 같은 경우 파일이 컴파일됩니다.
버전 3.02.1의 새로운 기능 :
* 개선 :로드 된 파일에 대한 런타임 테이블 항목이 이제 더 나은 임베딩 환경을 위해 다중 파일 술어를 사용하여 생성 된 중간 Prolog 파일에 추가됩니다. 특히 점진적 포함을 쉽게 수행 할 수 있습니다.
* 개선 : make 술어는 이제 컴파일 또는로드 오류가있는 파일의 상위 파일을 다시로드합니다. 이렇게하면 결함있는 파일이 로더 파일의 모든 파일의 컴파일을 중단 할 때 오류 파일이 수정되고 make 술어가 호출 될 때 결함이있는 파일 다음에 나열된 파일이 컴파일됩니다.
버전 3.01.2의 새로운 기능 :
이 릴리즈는 정적 바인딩 구현을 완료합니다. 컴파일 및로드 술어와 함께 파일 이름을 그대로 사용하기위한 지원을 추가합니다. 컴파일러 버그를 수정합니다. 문서 업데이트를 제공합니다. 디버깅, 테스트 및 문서화 도구를 개선합니다. Prolog가 공식 표준과 사실상 일치하는지 확인하기위한 새로운 단위 테스트 세트를 추가합니다. 지원되는 모든 텍스트 편집기 및 구문 형광펜에 대한 구문 색칠; ECLiPSe, JIProlog 및 YAP에 대한 호환성 업데이트가 포함되어 있습니다.
요구 사항 :
호환되는 Prolog 컴파일러.
댓글을 찾을 수 없습니다