实用zhlisp编程00:前言

  • 0

实用zhlisp编程00:前言

Category:中文学习 Tags : 

说  明

看内容之前请大家先理解下,先不要吐槽。本人对英文编程没有排斥情绪,只是因为记不住那些英文函数,一看到英文就头痛,又想学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

Leave a Reply

搜索

分类目录

公 告

本网站学习论坛:

www.zhlisp.com

lisp中文学习源码:

https://github.com/zhlisp/

欢迎大家来到本站,请积极评论发言;

加QQ群学习交流。