Tag Archives: Environment

0.导言

因为学习人工智能的关系,最近需要学习Prolog,看的主要指导教程是Hyry的《Prolog和人工智能》[1],译自Amzi Prolog的帮助文件,这本书虽然在开头处推荐了Amzi Prolog作为编程环境,但是我作为一个被Visual Studio,Matlab惯坏的人,实在是无法习惯Amzi Prolog简陋的环境——它的编辑器没有语法高亮功能,没有自动缩进,更不要提什么自动补全或者查看定义这类的高级功能了,当然,Prolog这个语言比较特殊,像那些功能也确实比较难以实现,但是为什么解释器居然都不能按”↑”键来转到上一条命令,而且如果我”()”成对得打然后再在里面插字符还会报错?太坑了吧。

在网上搜索了下,有人推荐了七种Prolog的解释器/编译器[2],还有一篇文章比较了三种开源Prolog解释器[3],大致看了下,第一篇里面大力推荐了SICStus,好吧,下下来安装后发现,好吧,这仅仅是个解释器,和我理想中的IDE完全不搭界,而且那种惨白色的背景,而且还不支持必要的快捷键,但是好处是,起码可以用”↑”键来转到上一条命令,而且终于能让我成对的打”()”然后向里面插入字符了,此外,它的运行结果比Amzi Prolog要好看。除了上面两个,还看了下Visual Prolog,好吧,终于看到一个靠谱的IDE,可是,他是商业软件虽然有免费版,但是它的相关资源很丰富,特别是中文资源,不过在VanHeising的文章里说它使用相对复杂[1],介于现在是初学,所以还是先不要用那么专业的好了*……如果,出现什么解释器不同造成的编译错误,初学者往往很难处理。此外,Swi Prolog的界面看起来也不错,而且还有一个J-Prolog Editor可以作为Swi Prolog的编辑器[4],但是,VanHelsing和David都指出了Swi Prolog速度偏慢[2,3],所以也舍弃了,另外还有GNU Prolog,但是官方页面提供的下载链接无法成功下载[5],所以懒得试了。

在这么反复折腾之后最终决定还是自己搭建一个环境吧,关键是编辑器,因为解释器的话其实SICStus也就足够了。

脚注:
* Visual Prolog界面好看,中文资源丰富,其实是个不错的选择,当然介于Hyry的《Prolog和人工智能》是用Amzi Prolog写的,所以建议换本指导教程,比如《Visual Prolog边练边学》,在Visual Prolog官网有下载。

1.编辑器

要说到Windows下可用的编辑器,当仁不让要提到Vim,我很久很久以前曾经用过一阵gVim,但是当初用着是在不惯,加之有Visual Studio这种神器何苦要使Vim?现在,不得不又用回Vim了。

首先到Vim官方主页[6]下载gVim最新版,安装之,Vim自带Prolog的语法高亮模板,你也可以自行替换为别的语法高亮模板,比如Aleksandar Dimitrov的[7]。原始的主题,不是很好看,我一般喜欢黑底的编辑器环境,当然这个看个人喜好,在Vim的网站有多种主题,下载.vim文件后放到…\Vim\vimfiles\colors,然后在编辑-配色方案中选择即可,或者直接输入命令“colo 配色方案名”,比如colo evening,如果想设置为打开时自动设为这个配色方案,需要修改vim目录的_vimrc文件,在最下面加一行colo evening就OK。如果想打开行号,就再加一行,写set nu!。

关于Vim我水平并不高,对Vim有兴趣的童鞋可以再查阅其他相关资料。

不喜欢Vim或者想找一个更轻量级的编辑器的话可以考虑用Notepad++,不过Notepad++原生似乎不支持prolog[8],但是你可以通过自定义语言来实现对Prolog的支持。

clip_image001 Read More →