Posts

Showing posts from 2012

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...
I added an intro, a summary, and a few more ideas to the Code Google post .  It needs a better name that doesn't just mean "search" to people and also doesn't include trademarked words :).