2013-10-27 3 views
3

필자가 쓰는 Prolog 프로그램의 일부로 pi을 사용하고 있습니다. Prolog에서 pi에 형식 오류가 발생하는 이유는 무엇입니까?

uncaught exception: error(type_error(evaluable,pi/0),(is)/2) 

가/I 호출의 측면에서 뭔가 잘못을하고있는 중이 야 : 나는이 프로그램을 실행하면

ArcDistance is ((Degree/ 360) * Diameter * pi). 

그러나, 나는 다음과 같은 오류가 발생합니다 : 여기에 전체 프로그램 pi의 내 유일한 언급이다 pi? 도와 주셔서 감사합니다!

답변

3

ISO-Prolog에서, 즉 Cor.2 : 2012 이후로 원자 pi은 일반적인 의미로 정의됩니다.

당신이 보여준 시스템의 반응을 감안할 때, 1.3과 같은 이전 버전의 GNU-Prolog를 사용하는 것 같습니다. 그러나 1.4.0 이상으로 시작하는 버전에서 정의됩니다.

pi은 현재 IF, B, YAP GNU, SWI 및 아마도 다른 많은 시스템에 정의되어 있습니다.

+0

(최근 버전의) CxProlog, ECLiPSe, Qu-Prolog 및 XSB에 정의되어 있습니다. 나는 SICstus Prolog도 생각하지만 최근에 만료되었으므로 확인할 수 없습니다. –

+0

@PauloMoura : SICStus 아직 : http://sicstus.sics.se/comingfeatures.html – false

+0

감사합니다 @ 거짓. 처음에는 GNU Prolog 1.4에서 정의 된 것인지 확신 할 수 없었지만 운영자 오류가 있습니다. – lurker

관련 문제