2016-11-17 5 views
1

XSBをサーバーにホストしようとしています。誰かが私がここで間違っているものを私に教えてくださいすることができ、私は次のようなエラーにエラー[XSB/Runtime/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のモジュールシステムがアトムベースであるという事実から始まって、些細な作業でもありません。

関連する問題