mitchell - still under development

Posted on September 8, 2006 by Chris Lumens in , .

There haven’t been any mitchell updates in a long time. I blame myself for that, but let me explain what’s going on. First, life has been keeping me busy lately. I’ve been travelling and having visitors a lot, going up to the mountains to hike as many weekends as possible, and working like crazy at my job. So that really cuts down on the amount of time I can spend working on my own personal programming projects.

However, I have been working on it quite a bit recently though you won’t see any of the results for a while. As I was working on yet another abstract syntax tree manipulation, I decided that doing all this in C sucks and that what I really wanted to do was start rewriting it in Standard ML/NJ. I’ve worked a little with that language in college and it was a lot of fun, so I figured it’d be a good implementation language. So far in this rewrite, I’ve gotten up through the parser and will be tackling the type checker very soon.

Doing a rewrite means I’ve been able to look back and make changes to the language. I added implicit return types for functions, tag discriminated unions, parametric explicitly polymorphic types, empty list literals, simplified some parts of the grammar, and reworked function call/declaration syntax. All this stuff has slowed down progress a bit and will seriously impact the speed of getting type checking done. However, I’m having way more fun now so it’s totally worth it.

That’s enough nerdery for now. I have entries to write up about my observations when watching Aliens tonight and from the wedding I went to last weekend, but those will have to wait for another day.