2016-11-17 2 views
1

서버에서 XSB를 호스팅하려고합니다. 내가오류 [XSB/런타임/P] : [유형 (아톰 대신 라이브러리 (http/thread_httpd))]

[xsb_configuration loaded] 
    [sysinitrc loaded] 
    [xsbbrat loaded] 
    [Compiling ./server] 
    ++Warning[XSB]: [Compiler] ./server : Unused symbol http_dispatch/1 
    ++Warning[XSB]: [Compiler] ./server : Unused symbol swish/0 
    ++Warning[XSB]: [Compiler] ./server : Unused symbol library(http/http_dispatch)/0 
    ++Error[XSB/Runtime/P]: [Type (library(http/thread_httpd) in place of atom)] in arg 1 of predicate atom_length/2 
    Forward Continuation... 
    ... asmpass2:asm_putsym/2 

누군가가 내가 여기서 잘못하고 무엇을 말해 주시겠습니까 다음과 같은 오류를 얻고있다

:- module(server, [server/0, server/1]). 
:- import http_server/2 from library(http/thread_httpd). 
:- import http_dispatch/1 from library(http/http_dispatch). 
:- use_module(swish, []). 

server :- 
    server(localhost:3050). 

server(Port) :- 
    http_server(http_dispatch, 
      [ port(Port), 
       workers(16) 
      ]). 

: 나는 다음과 같은 코드를 썼습니다. 귀하의 도움을 크게 주시면 감사하겠습니다.

+0

이전 질문을 이미 보았습니다. 대답을 원했지만 XSB Prolog에 대한 유용한 온라인 설명서를 쉽게 찾을 수 없었습니다. 로드하려는 라이브러리가 사용 가능하고로드하는 올바른 방법이라고 확신합니까? 내가 아는 한 전체 http 패키지는 SWI-Prolog 배포판의 일부입니다. XSB Prolog에서 사용할 수 있는지 또는 소스가 XSB Prolog와 호환되는지 여부는 실제로 알 수 없습니다. –

답변

3

XSB와 함께 SWI-Prolog HTTP 라이브러리를 사용할 수 없습니다. 이러한 라이브러리는 SWI-Prolog 독점 기능에 의존하며 XSB에서 그대로 작동하지 않습니다. 라이브러리 포팅은 SWI-Prolog의 모듈 시스템이 XSB의 모듈 시스템이 아톰 기반 인 반면 술어 기반 인 사실부터 시작하여 간단한 작업이 아닙니다.