Show HN: small lisp interpreter in Haskell
github.com
github.com
You could take a look at Alan Bawden's first-class macros [1].
Either system F or type dependency will require type annotations, although the type systems literature contains a number of workarounds to keep the overhead low. I'd recommend a simpler type system if you don't have a clear need for impredicative or dependent typing.
Thanks for the link, looks very helpful.
I believe this two-argument fexpr design goes way back, but I'm not sure.
But, yes, I agree that starting with some simpler type system (Hindley Milner maybe) will probably be more approachable and will give me a good base to build on.