用Prolog敲代码,感觉舒坦。

Prolog的编程范式,抽象程度远高于中、低级别的C语言等。敲代码的源码长度,至少比C语言的节省50%。

并且,Prolog的语法简单,符号选择自然合理,养眼度远高于其“近亲”Erlang。

Visual Prolog与其前身Turbo Prolog和PDC Prolog一脉相承。都是有严格类型限制的编译型软件。

与其它各种解释型Prolog相比。Visual Prolog执行速度快得多。

可是,Visual Prolog并不是完美。

它的缺点弱点,恰恰是它的Visual功能。

品种少、样貌丑的GUI控件,让人倒胃口,不愿用它做界面。

进入版本号6、7之后,Visual Prolog引入了类class,彻底成了面向对象。

各种语法规矩铺天盖地涌来,编程模式太过复杂,我不喜欢。

所以,我仅仅用版本号5,而且,坚持不用它的GUI。

要想扬长避短,发挥VisualProlog编译器和推理引擎等工具的优秀,避开其GUI工具的短板,一个不错的选择,是用它做CGI程序,把GUI交给浏览器处理。

Prolog的实际应用,主要集中在开发专家系统。

Visual Prolog提供了一个范例。使用WebCGI技术的"动物分类识别专家系统" —— GENI。

首先。安装执行GENI,了解它的基本情况。

1、安装配置serverApache

GENI是CGI程序,执行依赖HTTPserver。我用的是Apache 2.2。

为GENI配置虚拟主机,方法例如以下:

打开文件D:\Apache2.2\conf\httpd.conf

找到语句行 #Include conf/extra/httpd-vhosts.conf,删除行首的#,保存文件

打开文件D:\Apache2.2\conf\extra\httpd-vhosts.conf。做出下面设置:

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "D:/Apache2.2/htdocs/GENI"
ServerName localhost
ServerAlias localhost
<Directory "D:/Apache2.2/htdocs/GENI">
Options FollowSymLinks +ExecCGI
Order deny,allow
Allow from all
</Directory>
</VirtualHost>

在终端控制台检查虚拟机配置是否正确:

D:\Apache2.2\bin > httpd -S

会显示一些配置信息,结论应该是 OK

2、安装执行专家系统GENI

所谓安装,事实上是简单的复制

把文件夹D:\VIP52\WWW\INETPUB\GENI,完整拷贝到D:\Apache2.2\htdocs

启动Apacheserverhttpd.exe

在浏览器中打开地址 http://localhost/default.htm

一个图文并茂的网页,GENI登场亮相。

Visual Prolog 的 Web 专家系统 (1)的更多相关文章

  1. Visual Prolog 的 Web 专家系统 (7)

    GENI核心 -- 推理引擎(1)知识表示 GOAL最后一句是谓语infer(),它的含义是"论证". 因此,,进GENI核心,执行视图推理引擎. infer() infer(): ...

  2. Visual Prolog 的 Web 专家系统 (9)

    GENI的核心 -- 推理机(3)一些谓词 为了集中注意力.较好地分析GENI推理机核心程序,应该做些准备工作,弄明确一些起辅助作用的谓词功能. is_htmlfile(Rulexpl) is_htm ...

  3. Visual Prolog 的 Web 专家系统 (8)

    GENI核心 -- 推理引擎(2)流量控制 1.阐述fail."!"而回溯 与其他语言相比,,Prolog最大的特点.这是回溯机制. 回溯机制,还有的主要手段2个月,首先,通过使用 ...

  4. Visual Prolog 的 Web 专家系统 (6)

    保存用户响应询价.作为进一步推理的条件 或GOAL段开始.最初的一句是write_startform() write_startform():- write("<form action ...

  5. Visual Prolog 的 Web 专家系统 (10)

    GENI的核心 -- 推理机(4)求证过程分析 1.GENI知识库结构 专家系统推理机的设计执行,与其知识库结构紧密相关. GENI知识库结构是一棵逻辑推理树. 根节点是animal,即求证的目标. ...

  6. Visual Studio 2013 Web开发

    cnbeta新闻:微软正式发布Visual Studio 2013 RTM版,微软还发布了Visual Studio 2013的最终版本..NET 4.5.1以及Team Foundation Ser ...

  7. VSS提示"Could not find the Visual SourceSafe Internet Web Service connection information for the specified database

    转自:http://www.cnblogs.com/qqflying/archive/2007/12/18/1004051.html VSS连接错误提示: ====================== ...

  8. Visual Studio的Web Performance Test提取规则详解(3)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

  9. Visual Studio的Web Performance Test提取规则详解(2)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

随机推荐

  1. HDU 4305 Lightning(计算几何,判断点在线段上,生成树计数)

    Lightning Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. tcpreplay工具使用

    参考:http://www.cnblogs.com/jiayy/p/3447047.html   速率控制算法的大体思路就是,通过适当的sleep,增加包发送的时间,从而减小算出来的速率,以达到用户设 ...

  3. 合并table相同单元格的插件(基于jquery的)

    正好项目中有个小需求, 要求把表格指定列中内容相同的单元格进行合并,本质上涉及的就是td的rowspan属性, 数出含相同内容单元格的个数, 然后给第一个与上一行内容不同的td其rowspan属性附上 ...

  4. chrome.webRequest

    chrome.webRequest 描述: 使用 chrome.webRequest API 监控与分析流量,还可以实时地拦截.阻止或修改请求.  可用版本: 从 Chrome 17 开始支持.  权 ...

  5. django admin后台接入tinymce并且支持图片上传

    首先:下载tinymce 地址是https://www.tinymce.com/ 点击download 下载社区版本即可 接着:把压缩包内tinymce目录内的所有文件和文件夹复制到Django项目中 ...

  6. ArcGIS Server10.1之服务新特性(WMTS1.0.0) 【转】

    http://blog.csdn.net/esrichinacd/article/details/7825587 ArcGIS Server10.1正式支持OGC的WMTS1.0.0版本标准,那么如何 ...

  7. 自制DEV皮肤

    1.打开DEV自带的皮肤制作工具 2.创建一个新的皮肤工程[File][New] 3.改变指定控件的颜色,比如背景色 4.改变控件边框的颜色.粗细

  8. [Functional Programming Moand] Update The State Of A State Monad (put)

    Stateful computations require the ability for their state to change overtime. We take a look on one ...

  9. Microsoft Visual C++ Redistributable Package下载

    温馨提示: 1.目前,很多程序软件正常运行需要VC++库的支持,因此,博主在此做了一个合集,方便大家下载: 2.有需要的朋友请根据自己需要下载,博主所提供的下载地址均是微软官网的,请放心下载: 3.如 ...

  10. redis学习笔记——RDB、AOF和复制时对过期键的处理

    AOF.RDB和复制功能对过期键的处理 生成RDB文件 在执行SAVE命令或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进行检查,已过期的键不会被保存到新创建的RDB文件中.举个例 ...