想学prolog的注意了:垂钓听竹轩网站上的prolog教程打包下载

190 views
Skip to first unread message

open audio

unread,
Dec 21, 2010, 5:01:09 AM12/21/10
to pon...@googlegroups.com
公认最好的prolog中文学习资料,从入门到基本进阶,讲得非常细致。


我自己下载另存的是CHM文件,但是这个整理得更好,不知道是谁做的,我是从一个每点一次鼠标都会弹出两个广告窗的下载站上艰难的下载下来的,真是迷宫啊,伪链接无处不在,好在终于下载下来了。

先向垂钓听竹轩的主人表示敬意,多年以来这是网上最好的也几乎是唯一的中文教程了,而且编排的非常好。

垂钓听竹轩后来的网址也已经无法访问了:
http://cdtzx.swiki.net/

博主现博客在:
http://hyry.dip.jp/blogt.py

现在可到这里下载:
http://www.zhang3.info/wp-content/uploads/2010/10/CDTZX.rar

有需要帮助的可以到这里问问题:

http://www.douban.com/group/prolog/



机械唯物主义 : linjunhalida

unread,
Dec 21, 2010, 5:06:34 AM12/21/10
to pon...@googlegroups.com
恩, 现在精力不够, 不是很有时间去研究. Qt > pyside > lisp > 嵌入式编程 > LDD3
不过问一句, 如果haskell/lisp/prolog放在面前, 哪个更有意思一些? 学到的东西更多些? 主要是那些东西? 谢谢.

2010/12/21 open audio <open...@gmail.com>:

open audio

unread,
Dec 21, 2010, 5:16:24 AM12/21/10
to pon...@googlegroups.com
主要这是新范式,会带来很大的冲击,逻辑式程序很多时候比函数式更难写,因为在函数式中还可以写出命令式一样的程序,而使用逻辑式这么写就更困难了。

据我所知,prolog是一些语言设计者们设计语言原型时常用的语言之一。举例来说:Erlang的第一个实现就是在prolog上的,包括大多数特性的核心代码加起来就1000多行。

prolog在语法解析这些语言相关的工作上很合适。

prolog写一个简单pascal解释器,一共才几十行,而且各行代码的含义一目了然。

机械唯物主义 : linjunhalida

unread,
Dec 21, 2010, 5:26:08 AM12/21/10
to pon...@googlegroups.com
那看起来prolog是有学习的必要的. 毕竟没有看到其他的逻辑语言了.

ps:
这这这不是python做科学计算的作者吗?

2010/12/21 open audio <open...@gmail.com>:
>
> 博主现博客在:
> http://hyry.dip.jp/blogt.py
>

open audio

unread,
Dec 21, 2010, 5:29:11 AM12/21/10
to pon...@googlegroups.com
这就是原垂钓听竹轩的主人(男),那是两口子一起开的,我也闹不清谁的地盘。

google一下吧,我g过但是忘记了。

open audio

unread,
Dec 21, 2010, 5:58:18 AM12/21/10
to pon...@googlegroups.com
补充,这么好一篇论文应该推荐一下

网上可以看到J.L. armstrong等三人92年发表的论文,我下载了,非常好,里面的代码在swi-prolog上都可以运行。

Use of Prolog for developing a new programming language
J. L. Armstrong, S. R. Virding, M. C. Williams
Computer Science Laboratory
Ellemtel Telecommunications Systems Laboratory
Box 1505
S - 125 25 Alvsj o
Sweden
j...@erix.ericsson.se
January 27, 1992

可以做为用prolog创造一门新语言的指导手册。

要了解Erlang的核心思想可以看这个,代码少,思路清晰。

Isaac Li

unread,
Dec 21, 2010, 9:06:02 AM12/21/10
to pon...@googlegroups.com
谢谢分享。

看到程序员能力矩阵的语言接触把逻辑语言(Prolog)列在最后,是不是可以理解掌握它算达到最高境界了。。。


2010/12/21 open audio <open...@gmail.com>



--

Isaac Li

open audio

unread,
Dec 21, 2010, 3:04:10 PM12/21/10
to pon...@googlegroups.com
我不这么看。

这只是编程的思维方式之一,三种范式融会贯通应该才算最高境界,难。。。

我最想说的是“命令式程序”根本没有过时,是一帮搞函数式一知半解的人(这么说有点小过份,一些人还是所称大师级的人物)乱说,命令式是人最常用的思维方式,硬用函数式风格处理所有问题(特别是IO操作)是自找麻烦。

http://www.ats-lang.org

这个语言也是函数式,但人家根本不排斥命令式,甚至可以混用c语言,指针,手动内存分配/释放,也都可以用,只不过它用一个强大的类型系统(比haskell的更强大)来保证不会出现运行时错误。

Larry, LIU Xinyu

unread,
Dec 21, 2010, 10:32:09 PM12/21/10
to TopLanguage
Hi,

灌水一个。说说我的看法。

还记得数学里的定理证明么?
可以使用数学归纳法;可以使用普通的推导;也可以使用几何映射问题,然后用几何定理证明;也可以使用逻辑定理证明集合论的问题,甚至反证法,大家都觉得
挺好。
没有人会说推导过时了,一切定理都要数学归纳法证明。搞证明范式的movement。

可是这玩意移到程序设计里就搞出了movement,结构化编程,面向对象编程,函数式编程,我估计未来还会有更多的范式被拿来做movement。

我们在数学里发现,针对有些问题用某种方法特别简洁有效。例如,无穷序列的一些定理,用数学归纳法特别容易证明。
有些问题,映射到极坐标上特别容易解决。

我觉得程序设计领域应该多向数学领域学习学习。其实有很多数学上的思维方法可以非常自然的对应到程序设计中,据个例子,
函数式设计中的递归---这简直就是数学归纳法的形式描述。所以,我们不用搞一统江湖的编程范式,相反,我们应该多学习更多的编程范式,
我相信绝对不止三个(没准过几年内会发展出几何化编程...)。只有我们的眼界丰富了,遇到问题我们才能像数学领域中那样,
知道用哪个范式来思维更加有效。

最后,我想给想学习新程序设计语言的同志一个建议:我们看待语言,其实要像数学中看待公式描述一样。
不管我们用哪种风格描述数学问题(例如极坐标),它是帮助我们思维的一套表达体系。而不是全部。
程序语言也一样,一个语言是帮助我们思维的一套体系。

大家打开wiki或者经典的计算机科学教科书,以及论文看看,很多情况都是用伪代码来表述。可是这一点也不掩盖那些背后的问题和解答,
以及优美的智慧。

另:我确实感叹过Prolog的优雅,Lisp的简洁统一,Python的清爽,C的直接,Smalltalk的自然,Haskell的深厚,
Pascal的壮丽。

--
LIU

On Dec 22, 4:04 am, open audio <openau...@gmail.com> wrote:
> 我不这么看。
>
> 这只是编程的思维方式之一,三种范式融会贯通应该才算最高境界,难。。。
>
> 我最想说的是"命令式程序"根本没有过时,是一帮搞函数式一知半解的人(这么说有点小过份,一些人还是所称大师级的人物)乱说,命令式是人最常用的思维方式,硬用函数式风格处理所有问题(特别是IO操作)是自找麻烦。
>
> http://www.ats-lang.org
>
> 这个语言也是函数式,但人家根本不排斥命令式,甚至可以混用c语言,指针,手动内存分配/释放,也都可以用,只不过它用一个强大的类型系统(比haskell的更强大)来保证不会出现运行时错误。
>

> 在 2010年12月21日 下午10:06,Isaac Li <n0zai1sh...@gmail.com>写道:
>
> > 谢谢分享。
>
> > 看到程序员能力矩阵的语言接触把逻辑语言(Prolog)列在最后,是不是可以理解掌握它算达到最高境界了。。。
>

> > 2010/12/21 open audio <openau...@gmail.com>


>
> >> 公认最好的prolog中文学习资料,从入门到基本进阶,讲得非常细致。
>
> >> 我自己下载另存的是CHM文件,但是这个整理得更好,不知道是谁做的,我是从一个每点一次鼠标都会弹出两个广告窗的下载站上艰难的下载下来的,真是迷宫啊,伪链接无处不在,好在终于下载下来了。
>
> >> 先向垂钓听竹轩的主人表示敬意,多年以来这是网上最好的也几乎是唯一的中文教程了,而且编排的非常好。
>
> >> 垂钓听竹轩后来的网址也已经无法访问了:
> >>http://cdtzx.swiki.net/
>
> >> 博主现博客在:
> >>http://hyry.dip.jp/blogt.py
>
> >> 现在可到这里下载:
> >>http://www.zhang3.info/wp-content/uploads/2010/10/CDTZX.rar
>
> >> 有需要帮助的可以到这里问问题:
>
> >>http://www.douban.com/group/prolog/
>
> > --
>

> > **
>
> > Isaac Li
>
>

findingsmalldicksallovertheinternet

unread,
Dec 21, 2010, 11:13:16 PM12/21/10
to pon...@googlegroups.com
good(prolog).
good(lisp).
good(python).
good(c).
good(haskell).
bad(java).

good(X).

est

unread,
Dec 22, 2010, 10:08:08 AM12/22/10
to pon...@googlegroups.com
感谢LZ。好东西收下了。

一直想学prolog,有中文的教程最好了。

其实编程就两个范式,一个面向机器,一个面向数学。(是谁说的忘记了 -_-!)

2010/12/22 Larry, LIU Xinyu <liuxi...@gmail.com>:

机械唯物主义 : linjunhalida

unread,
Dec 22, 2010, 10:16:03 AM12/22/10
to pon...@googlegroups.com
机器也是数学的哇.

2010/12/22 est <electr...@gmail.com>:

est

unread,
Dec 22, 2010, 10:21:48 AM12/22/10
to pon...@googlegroups.com
IT就是个大峡谷哇,左边机器右边数学,中间浩荡无边是世世代代勤劳耕作的码农。争取有一天能把这峡谷大坑填平了唤醒AI,机器就自我向数学进化了 :D

2010/12/22 机械唯物主义 : linjunhalida <linjun...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages