该pyLisp-NG项目是PyLisp,它有它的意外出生的威廉·安妮斯“希望建立一个CLIPS的语法以一个简单的专家系统,用于监测工具&NBSP的结果的直接后裔。作为对Python的新闻组Lisp的利益结果,威廉发布的软件,并宣布它的组。
几年后,在和的Evolver项目txEvolver需要Python中的函数式编程语言实现,如检查Python的AST是太麻烦了。笔者想分发,处理和管理多个远程服务器绞进化算法/程序和部分节目操纵排列是更容易与扭曲的整合,如果程序本身可以进行评估,很容易与Python的自省。
pyLisp-NG继承PyLisp的特质charaateristics。例如,布尔值是true和false,它并没有按照约定的一切,是不是假的是真的(通用于许多的Lisp)。事实上,在pyLisp-NG所有的布尔值是基于模糊逻辑,所以你可以做的事情棘手。宏,很奇怪的是,在PyLisp第一类对象这可能小说的Lisp:
口齿不清>(setq FOO 22)
22
口齿不清>((宏(X)`(setq,X(+,×1)))FOO)
23
pyLisp-NG,像它的前身,有一个becomming羽翼丰满,强大的Lisp实现无意向。所有的进步是由开发商作出贡献的利益完全支配;现在,这是严格用作遗传编程工具。
安装:
pyLisp-NG是setuptools的友好;可以用下面的安装它:
  $ easy_install的pyLisp-NG
您也可以从快速启动的完整源代码:
  $的bzr LP:pylisp-NG
后一种选择极大地鼓舞了感兴趣的用户,作为存储库包含未包含在ditribution压缩包(如测试运行和测试utils的)多余的文件。
用法:
从完整的结算使用interpretter,这样做:
&NBSP; $ CD <分支目录> $ ./bin/pylisp-ng
如果你有安装的easy_install,你的Python脚本的目录在PATH,所有你需要做的是这样的:
&NBSP; $ pylisp-NG
在这一点上,你就可以进入Lisp的表达式:
口齿不清>((拉姆达(X)(* X X))2)
4
LISP>
您可以使用在Python的S-表达式代码:
>>>从pylispng进口口齿不清
>>> L = lisp.SExpression('((拉姆达(X)(* XX))2)“)
>>>海峡(升)
'((拉姆达(x)的(* X X))2)'
>>> l.eval()
4
构建一种表达一个符号的时间或在一个时间添加块:
>>> L = lisp.SExpression()
>>> l.append(“+”)
>>> l.append('3')
>>> l.append('5')
>>> l.append('(* 3 3)')
>>>海峡(升)
'(+ 3 5(* 3 3))'
您可以检查S-表达的各种属性:
>>> l.eval()
17
>>> l.getDepth()
2
>>> LEN(升)
4
>>> l.getSize()
2
功能:
- 在一个微小的Lisp方言,易于集成到其他Python项目
- 在包括交互式Lisp解释。
- 专为遗传编程而设计表达反省。
什么在此版本中是新的:
- 在加内省代码是遗传编程有用李>
- 在一对夫妇的小bug修复和一些代码清理工作。
要求:
- 在Python的
评论没有发现