-
Notifications
You must be signed in to change notification settings - Fork 1
Lispy is a very simple Scheme interpreter suitable for someone learning how to write an interpreter.
License
ellamental/Lispy
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
**************************************** ** _ _ ** ** | | (_)________ _ ** ** | |_| (_-< _ \ || | ** ** |___|_/__/ __/\_, | ** ** |_| |__/ ** ** Version 0.01 ** ** ** ** Use ctrl-c to exit ** **************************************** Lispy is being rewritten in Scheme. There is a series of articles detailing the implementation of Lispy at my blog... http://pointlessprogramming.wordpress.com/lispy-in-scheme/ Lispy is a very simple Scheme-like interpreter with support for Python-like comprehensions and polymorphic basic procedures. The main goal of Lispy is to provide a simple implementation that illustrates the concepts behind programming language constructs without focusing at all on efficency or error handling. Lispy is based on Bootstrap Scheme by Peter Michaux: http://michaux.ca/articles/scheme-from-scratch-introduction If you are trying to learn how to write an interpreter I highly recommend you read his Scheme From Scratch series as much of the basic functionality of Lispy is based on his code. A test suite has been provided to verify basic functionality (though not edge-cases) and to provide a form of limited documentation. I strongly suggest that you don't use Lispy for real-world applications. Lispy should run fine as long as you give it valid code (provided all the tests pass). **=============================================** ** Installing Lispy **=============================================** Lispy depends on the Hans-Boehm Garbage Collector in /usr/include/gc This should do the trick in Ubuntu $ sudo apt-get install libgc-dev After checking out the project, cd into the directory and type: $ make $ ./lispy **************************************** ** _ _ ** ** | | (_)________ _ ** ** | |_| (_-< _ \ || | ** ** |___|_/__/ __/\_, | ** ** |_| |__/ ** ** Version 0.01 ** ** ** ** Use ctrl-c to exit ** **************************************** Testing... Unit Test Completed Successfully > If all goes well you will be greeted with this screen. The unit tests should report any errors if there are any. Lispy has been tested on 32 and 64 bit Ubuntu. If you are having problems installing you can email me at jacktradespublic AT gmail DOT com. **=============================================** ** Documentation **=============================================** The main form of documentation for Lispy is the unit tests and source code comments. Both, unfortunately, are unsuitable as real documentation, however Lispy is hardly a production system. The Pointless Programming Reference at plr.sourceforge.com will also contain some documentation for Lispy. **=============================================** ** Files Included with Lispy **=============================================** ** lispy.c The main source file for Lispy. This is technically all you need. ** unit_tests.lispy The Lispy test suite, run by default every time Lispy is loaded. ** Makefile A simple one-line makefile ** lispy_logo.txt A simple ASCII art logo for the Lispy launch screen. ** licence.txt GNU Affero General Public License version 3 header and credit to Peter Michaux. ** syntax_highlighting/lispy.xml AND chicken.xml Syntax highlighting files for the Kate text editor for Lispy and Chicken Scheme. Put these in your katepart syntax folder. In Ubuntu the directory is located at: /usr/share/kde4/apps/katepart/syntax Only for Kate development. I don't know what your IDE will do with Lispy!
About
Lispy is a very simple Scheme interpreter suitable for someone learning how to write an interpreter.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published