Lazp: an untyped, lazy, functional language with support for runtime metaprogramming
So far, the only untyped, lazy language I've found that's being maintained is Lazy Racket . I've been interested in Lambda Calculus for a while, though, and LISP/Scheme aren't quite what I want (and they're quite a bit larger, too), so I decided to extend the Lambda Calculator into a standalone language. Here's the repository . The goal is to make it native, but for now, it's still in JavaScript, although it will run "standalone" in node.js (and also in browsers). Here are the language features I'm interested in: lazy , so no side effects, because they can really mess up a lazy language untyped ; Haskell is already there for typed, lazy languages metaprogramming ; the eval function uses ASTs that are LC functions We'll rewrite Lazp's parser and code generators in Lazp, so it's self-hosting I "hand assembled" the AST functions, so they're in Lazp, already This means metaprogramming in Lazp can happen at pa...