pyLisp-NGプロジェクトは、監視ツールのために意図されたシンプルなエキスパートシステムのためのクリップのような構文を構築するためのウィリアム·アニスの欲求の結果としての偶発的な誕生を持っていたPyLisp、の直接の子孫である としてPythonのニュースグループでのLispの関心の結果、ウィリアムは、ソフトウェアをリリースしてグループにしたと発表しました。
PythonのASTを検査する手間のあまりだったので数年後、EvolverのとtxEvolverプロジェクトは、Pythonで関数型プログラミング言語の実装を必要としていました。著者は、処理を分散し、複数のリモートツイストサーバー間で進化的アルゴリズム/プログラムを管理したかった、部分プログラムの順列を操作するプログラム自体は評価とPythonで簡単にイントロスペクトすることができればツイストと統合するためにはるかに簡単でした。
pyLisp-NGはPyLispの特異なcharaateristicsを継承します。例えば、ブール値は、trueおよびfalseです、それは偽のではない、すべてが(多くのLispに共通)が真であることが慣例に従っていません。実際には、pyLisp-NG内のすべてのブール値は、ファジー論理に基づいているので、あなたは、トリッキーなことを行うことができます。マクロは、非常に奇妙なのLispに多分小説PyLispでファーストクラスのオブジェクトであります:
舌足らず>(setqのFOO 22)
22
舌足らず>((マクロ(x)は `(setqの、X(+、×1)))FOO)
23
pyLisp-NGは、その前身のような、本格的な、堅牢なLispの実装をbecommingのない意図を持っていません。すべての進歩は、単に開発者の貢献の利益によって支配されます。今、それは厳密には、遺伝的プログラミングツールとして使用するためです。
インストール:
pyLisp-NGはsetuptoolsのフレンドリーれています。次でそれをインストールすることができます。
  $ easy_installをpyLisp-NG
また、ランチパッドからの完全なソースコードを取得することができます:
  $のbzrののLP:pylisp-NG
リポジトリは(そのようなテストランナーとテストutilsのような)ditributionのtarballに含まれていない余分なファイルが含まれているように後者の選択肢が大幅に関心のあるユーザーのために奨励しました。
使用法:
完全チェックアウトからinterpretterを使用するには、次の操作を行います。
&NBSP; $のCD <ブランチディレクトリ> $ ./bin/pylisp-ng
あなたはeasy_installを一緒にインストールした、あなたのPythonスクリプトのディレクトリがPATHにある場合、あなたがする必要がありますすべてはこれです:
&NBSP; $のpylisp-NG
この時点で、Lispの式を入力することができます:
舌足らず>((λ(x)は(* X X))2)
4
舌足らず>
あなたは、PythonからS式コードを使用することができます。
>>> pylispng輸入のLispから
>>> L = lisp.SExpression( '((λ(x)の(* XX))2)')
>>> STR(L)
'((λ(x)は(* X X))2)'
>>> l.eval()
4
時や時間にチャンクを追加することにより、式1のシンボルの構築:
>>> L = lisp.SExpression()
>>> l.append( '+')
>>> l.append( '3')
>>> l.append(5 '')
>>> l.append( '(* 3 3)')
>>> STR(L)
'(+ 3 5(* 3 3))'
あなたはS式のさまざまなプロパティを調べることができます。
>>> l.eval()
17
>>> l.getDepth()
2
>>> LEN(L)
4
>>> l.getSize()
2
この特長:
この小さなLispの方言、他のPythonのプロジェクトに統合するのは簡単。
対話型のLispインタプリタが含まれています。
具体的には遺伝的プログラミングで使用するために設計された発現のイントロスペクション。
このリリースの新機能:
この追加されたイントロスペクションコード遺伝的プログラミングのために便利です。
カップル小さなバグ修正といくつかのコードのクリーンアップ。
この要件:
このパイソン
コメントが見つかりません