实用zhlisp编程00:前言
Category:中文学习说 明
看内容之前请大家先理解下,先不要吐槽。本人对英文编程没有排斥情绪,只是因为记不住那些英文函数,一看到英文就头痛,又想学lisp,就找了个这么折中的方法来学。没有别的,别乱想了。
到目前为止,没有一家公司招聘lisp程序员,所以学lisp来找工作挣钱是不可能的。学lisp的目前都是基于兴趣爱好,或者想了解下lisp的编程思想和编程方式。在这样的背景下,入门了解学习英文的和看我这个国产山寨版的lisp没什么多大区别了,而且我个人觉得这样汉化着学更容易些。
本人工作也只是个月光族而已,完全是在业余时间基于兴趣来做这些的。完美的教程就别想了,免费的能有个就不错了,大家就理解下吧,当然如果有人能资助我做的更好些我也不介意。
汉化版zhlisp已经有一百多个函数了,已经能写基本的代码测试了。是时候来个使用说明了,写本书或者教程显然不太可能了,没有时间精力,能力也达不到。但又要有个使用示例吧,于是找了个折中的办法。
我在网上找到了实用common lisp编程田春翻译的,把函数汉化了下,汉化的还可以,学习可以参考田春翻译的书,代码参考着我这里的来学习。
汉化后又把函数名和代码替换成了zhlisp代码,折腾下来花了很长时间,当然是在下班后来做的。懂我的不会说什么,不懂的请忽视这块土地吧。
下面进入正题,使用方法。
一、选择一种lisp实现
目前常用的lisp实现有很多,我只列出四种让大家选下,根据推荐顺序排列。
1、lispworks 6.11个人免费版,虽然是个人免费版,功能也有限制,但对个人学习了解lisp完全够用了。而且下载安装方便,还是图形用户界面的,有GUI可以练习。经测试可以使用zhlisp,但部分函数不支持,比如LAMBDA。
下载地址:http://www.lispworks.com/downloads/index.html
按照网页上填些基本资料选下平台就可以下载了,可者进群里下我下好的,这个安装包反正八百年也不更新的。
2、Clozure Common Lisp,免费的开源实现,作为第二个推荐是因为它和苹果平台的cocoa工具可以一起开发具有图形界面的软件,并且苹果下还有个IDE可以参考开发和使用。经测试可以使用zhlisp,需要加参数wx86cl64.exe -K CP936启动,但不支持中文小括号,Ubuntu下可正常使用。
下载地址:https://github.com/Clozure/ccl/releases/tag/v1.12-dev.5
用源码编译最新的安装包的方法参考我以前的文章,也可以直接编译苹果下用的IDE软件。
3、sbcl,有众多平台的安装包,包括arm32和64位平台的安装包。经测试不支持zhlisp,请不要使用,Ubuntu下可正常使用。
下载地址:http://www.sbcl.org/platform-table.html
也是个免费的开源实现,研究的不深,具体的大家自己查资料吧。
4、clisp,免费开源实现,具说速度快安装包小,很受欢迎,了解的不多。经测试windows和Ubuntu下不支持zhlisp,请不要使用。
下载地址:https://clisp.sourceforge.io/
至于不说scheme是因为方言不一样,zhlisp是在common lisp基础上汉化的,所以不作介绍了。
二、整套编译工具
1、免费开源集成好的一整套编译工具和环境推荐Portacle,经测试不支持zhlisp,请不要使用,Ubuntu下可正常使用。
下载地址:https://Portacle.github.io/
2、付费专业开发工具免费个人版推荐lispworks,经测试可以使用zhlisp,但部分函数不支持,比如LAMBDA。
下载地址:http://www.lispworks.com/downloads/index.html
个人推荐使用lispworks,方便够用。
三、加载zhlisp中文函数方法
本教程示例代码需要加载zhlisp代码
文件下载地址:https://github.com/zhlisp/
windows下需要把“ZHLISP中文编程通用加载宏”文件夹下的文件编码由UTF-8转为ANSI才能识别加载,其它操作系统不需要转码。
使用lispworks
把“ZHLISP中文编程-加载函数.lisp”文件中的所有函数复制到软件里面执行,根据弹窗提示选择对应的数据文件即可。
使用Portacle或别的实现加载zhlisp的方式
把“ZHLISP中文编程-加载函数.lisp”文件中的每个函数依次复制到软件里面执行,读取数据函数根据数据文件的存放位置修改代码。
请注意windows和其它系统表示文件路径名的不同。空格和反斜线\字符需要用反斜线\进行转义,也就是”\”变成2个斜线”\\”,空格变成”\ “斜线和空格。
Ubuntu下使用方法
Ubuntu下可直接在sbcl和ccl实现下通过load函数加载“ZHLISP中文编程-加载函数.lisp”文件使用,注意根据文件下载位置修改路径代码。
输入个示例代码测试下,注意双引号”还是英文的
中文LISP 18 > (格式 T "世界,你好!") 世界,你好! NIL
接下来就可以正常使用zhlisp了。
英文原版地址
http://www.gigamonkeys.com/book/
田春翻译地址
https://binghe.github.io/pcl-cn/
2019-6-7新建
2020-3-12更新
2020-3-20更新
http://mip.i3geek.com