Here's a few things I've been playing with lately.
jrm-code-project/utilities has a few utilities that I commonly use. Included are utilities/lisp/promise and utilities/lisp/stream which provide S&ICP-style streams (lazy lists). utilities/lisp/utilities is a miscellaneous grab bag of functions and macros.
jrm-code-project/homographic is a toolkit for linear fractional transforms (homographic functions). In addition to basic LFT functionality, it provides examples of exact real arithmetic using streams of LFTs.
jrm-code-project/LambdaCalculus has some code for exploring lambda calculus.
jrm-code-project/CLRLisp is an experimental Lisp based
on the .NET Common Language Runtime. The idea is that instead of trying to adapt a standard Lisp implementation
to run on the .NET CLR, we just add a bare-bones eval
and apply
that use the CLR
reflection layer and see what sort of Lisp naturally emerges. At this point,
it only just shows signs of life: there are lambda expressions and function calls, but no definitions, conditionals,
etc. You can eval lists: (System.Console.WriteLine "Hello World.")
, but I haven't written a reader
and printer, so it is impractical for coding.