如何为prolog程序创建用户界面

use*_*845 7 prolog

我正在创建一个基于prolog逻辑基础的游戏,我想为它创建一个用户界面.编程语言与prolog集成的任何想法?

Chr*_*itz 7

起初看起来有点反直觉,但我实际上建议制作一个基于Web的GUI.一旦你认为它通过(并检查了日食电的断点续传功能,http://eclipseclp.org/doc/bips/lib/http/index.html),你会意识到,Prolog是实际上是相当适合作为语言写一个应用程序服务器.我已经做到了非常成功,它避免了说服某人查看非标准UI框架的艰难战斗.此外,它可以立即实现移动,并且可以很好地区分问题.

这是一个极简主义的例子.当您运行它(eclipse -s http.pl然后调用runserver)时,您可以在localhost:8000上打开浏览器以调用下面processURL中定义的路由谓词:

http.pl:

:- lib(http),
    use_module(http_method).

runserver :-
    http_server(8000).
Run Code Online (Sandbox Code Playgroud)

http_method.pl:

:- module(http_method).

http_method("GET", Url, Params, Contents, 200, [contentLength(CL), contentType(mt(text, html))]):-
    printf("%w\n", [http_method(Url, Params)]), flush(output),
    http_process(Url, Contents),
    string_length(Contents, CL).

http_process(Url, Contents) :-
    split_string(Url, "/", "/", L),
    printf("URL split: %w\n", [L]), flush(output),
    processURL(L, Contents).

processURL([""], "Hello World!").
processURL(["route1"], "You are at /route1").
Run Code Online (Sandbox Code Playgroud)


Cap*_*liC 6

如果你使用SWI-Prolog,并且知道Qt,你可以使用QtCreator设计器.这里有一个例子在线.


joe*_*l76 2

我认为您可以将 SWi-Prolog 与 XPCE 一起使用。
此外,还有一个带有 SWI-Prolog 的 C# 接口。