/ZickStandardLisp

Lisp evaluator in the LIsp for Zick's Lisp implementations

Primary LanguageCommon Lisp

== Zick Standard Lisp

A Lisp evaluator in Lisp.


== What's this

This is a Lisp evaluator for Zick's Lisp implementations. It supports 43
implementations as of 2021-03-14 JST.
- ScratchLisp: http://scratch.mit.edu/projects/18997849/
- LuaLisp: https://github.com/zick/LuaLisp
- PyLisp: https://github.com/zick/PyLisp
- RbLisp: https://github.com/zick/RbLisp
- RLisp: https://github.com/zick/RLisp
- PerLisp: https://github.com/zick/PerLisp
- FactorLisp: https://github.com/zick/FactorLisp
- IoLisp: https://github.com/zick/IoLisp
- NekoLisp: https://github.com/zick/NekoLisp
- TcLisp: https://github.com/zick/TcLisp
- CoffeeLisp: https://github.com/zick/CoffeeLisp
- TypeLisp: https://github.com/zick/TypeLisp
- DartLisp: https://github.com/zick/DartLisp
- FalconLisp: https://github.com/zick/FalconLisp
- EuphoriaLisp: https://github.com/zick/EuphoriaLisp
- JSXLisp: https://github.com/zick/JSXLIsp
- FantomLisp: https://github.com/zick/FantomLisp
- CeylonLisp: https://github.com/zick/CeylonLisp
- GroovyLisp: https://github.com/zick/GroovyLisp
- SMLisp: https://github.com/zick/SMLisp
- OCamLisp: https://github.com/zick/OCamLisp
- DLisp: https://github.com/zick/DLisp
- JavaLisp: https://github.com/zick/JavaLisp
- C#Lisp: https://github.com/zick/CSharpLIsp
- HaxeLisp: https://github.com/zick/HaxeLisp
- F#Lisp: https://github.com/zick/FSharpLIsp
- KotlinLisp: https://github.com/zick/KotlinLIsp
- JuliaLisp: https://github.com/zick/JuliaLisp
- ScalaLisp: https://github.com/zick/ScalaLisp
- LiveLisp: https://github.com/zick/LiveLisp
- EiffeLisp: https://github.com/zick/EiffeLisp
- SmalltalkLisp: https://github.com/zick/SmalltalkLisp
- IconLisp: https://github.com/zick/IconLisp
- Oberon2Lisp: https://github.com/zick/Oberon2Lisp
- SquirreLisp: https://github.com/zick/SquirreLisp
- DylanLisp: https://github.com/zick/DylanLisp
- IokeLisp: https://github.com/zick/IokeLisp
- ElangLisp: https://github.com/zick/ElangLisp
- PikeLisp: https://github.com/zick/PikeLisp
- ProcessingLisp: https://github.com/zick/ProcessingLisp
- OzLisp: https://github.com/zick/OzLisp
- BooLisp: https://github.com/zick/BooLisp
- TempLisp: https://github.com/zick/TempLisp

It consists of QUOTE, IF, LAMBDA, DEFUN, SETQ, CAR, CDR, CONS, EQ, ATOM, +, *,
-, /, and MOD. It provides them all, so it can run itself recursively.


== How to use

# From command-line
% ./compile.sh -e "(car '(a b c))" > car.zsl
% lua lualisp.lua < car.zsl
a
# From file
% ./compile.sh < fib5.lsp > fib5.zsl
% python pylisp.py < fib5.zsl
8
# Run this evaluator itself
% ./compile.sh < car.zsl > car_rec.zsl
% ruby rblisp.rb < car_rec.zsl
a