archives

A Self-Checking Type System

I'm a little hesitant to ask the big brains here to take a look at my little language Magpie, but I managed to pull something off in it that I think some of you might find interesting. (Or, at the very least, you can tell me what I did wrong.)

Magpie is a hybrid dynamic/static language. The type system it uses during type-checking is implemented in Magpie. So, during static checking, it switches between statically walking the code and dynamically evaluating type annotations and type comparisons.

I wrote a bit about it here and I'd appreciate any feedback you have on it.