A Python-based implementation of Tiny Lisp, The Next Tiny Lisp allows for functional programming and provides a minimalistic implementation of Lisp. It simplifies recursion and encourages programming in a functional style, making it a great tool for those looking to experiment with Lisp.
Several years later, the Evolver and txEvolver projects required a functional programming language implementation in Python, as inspecting Python's AST was too much of a hassle. The author of pyLisp-NG saw an opportunity to distribute, process, and manage evolutionary algorithms/programs across multiple remote Twisted servers more efficiently. Manipulating permutations of partial programs was much easier to integrate with Twisted if the programs themselves could be evaluated and introspected easily with Python.
pyLisp-NG inherits some of PyLisp's idiosyncratic characteristics, such as the use of fuzzy logic for all booleans, which allows for more flexible programming. Macros are also first-class objects in PyLisp, a novel concept for Lisps. However, pyLisp-NG is not intended to be a full-fledged Lisp implementation; its progress is governed solely by the interest of contributing developers, and it is currently used as a genetic programming tool.
The software is set up to be setuptools-friendly and can be installed with easy_install pyLisp-NG. The full source code is also available on Launchpad, which is encouraged for interested users, as it contains extra files not included in distribution tarballs. Once installed, the interpreter can be accessed by entering pylisp-ng in the command line.
Users can enter Lisp expressions directly into the prompt or use the s-expression code from Python. The SExpression object allows for the building of expressions one symbol at a time, and various properties of the s-expression can be examined, such as its depth, size, and evaluated value.
Overall, pyLisp-NG is a useful tool for those interested in genetic programming and offers some unique features not found in other Lisps, making it a valuable addition to any developer's toolkit.
Version 2.0.0: N/A