5 ms·
Thank you. This Lisp is a translation of my other Lisp in 1200 lines of Dart (https://github.com/nukata/lisp-in-dart https://github.com/nukata/lisp-in-dart), wh
by suzuki 8y ago
Thank you.
This Lisp is a translation of my other Lisp in 1200 lines of Dart (https://github.com/nukata/lisp-in-dart https://github.com/nukata/lisp-in-dart), which is, in turn, a digest or refinement of my old L2Lisp in Java (https://github.com/nukata/l2lisp-in-java https://github.com/nukata/l2lisp-in-java).
I did my best to optimize it for C# 7.
- garganzol 8y agoGood job Mr. Suzuki. You effort on C# 7 optimization shows, the result is clean and professional. Regarding the speed of .NET implementation, it can be improved by leveraging LINQ expressions trees. In this way, one can achieve a good interpreter/JIT combo. The compiled code produced by LINQ expression trees is discardable. So you can temporarily cache it for frequent Lisp expressions (this gives JIT performance), and then discard rarely used parts of it (this gives a flexibility of an interpreter). I'm myself in a Scheme camp of Lisp, but I love your implementation. This is the cleanest one I saw in years.