

Ask HN: Help with programming language design and implementation. - dpkendal

I've implemented a very basic Lisp-y programming language, but there are some things which I'm not sure about how to fix/implement.<p>I'm happy with my parser, but the evaluation part is very buggy and in some cases unusable. I'd really like to end up with a usable programming language at the end but I've realised that I'm a bit out of my depth, both in debugging and implementing some features I'd like (continuations being a main example.)<p>Please recommend some sources for help in avoiding common pitfalls and implementing languages. (If anyone with experience wants to help me, also, that would be especially great.)
======
dkersten
Not sure if I can help or not, but feel free to contact me by email and I'll
see what I can do.

My biggest recommendation, since you are implementing a lispy language, is to
implement macros as soon as possible as this will let you implement most
things within the language itself - you only really need a dozen or so built-
in features to implement a lisp (except, of course, for performance you may
want to add more - but get it working first, then get it fast!) and everything
else can be built up from there.

You should also take a look at the source code to a (toy, non-compiled) scheme
implementation - they are often extremely small and simple and may give you
ideas. If you want your language to be compiled (ahead of time or JIT), I
would recommend LLVM.

In any case, I'd be interested in hearing about your experiences, so perhaps
you should write a blog post or something when you get it working.

