Monthly Archives: January 2007

Generalization

Okay, here’s the latest on my type inference algorithm: (1) it rocks, (2) it is still having trouble with generalization. My current example is the following (using ML-style reference syntax):

fix \f x { x := !x + 1; if 10 < !x then x else f x }

That fix business [...]

Complete Lattice Type System

I implemented a simple-minded type inferencer for meme (all monotypes–no polymorphism). Then I started implementing “Builtin” AST nodes so that I could have polymorphism in specific examples, like if. That got me wondering whether I could do polymorphism, as long as it was declared. I ran through the type inferencer algorithm by [...]

Perl 6 Rules: Elementary Compositionality and More Contrived Vocabulary

Larry Wall made a change to Synopsis 5, section “Longest-token matching” splitting the alternation operator | in two: | and ||. The idea is that || works just like the old one: try to match the left any way you can, and if that fails, then try the right. This makes sense to [...]

Professionalism in Game Interfaces

Multiple Mice Support for Games

Some time ago, we had a two-player game whose most natural input method was the mouse. That’s too bad, because most OSes make it exceedingly difficult to handle two mice separately; they just clump the mice together, so both mice control the same cursor.
Today I stumbled upon a teeny little cross-platform library called manymouse, [...]

Complete Upper Bound Type System

I have been working on a type system for the last couple days, in case you haven’t noticed. But now I have one concrete and axiomatized, which is strong enough to infer the type of (f -> f 0) id. “Oh boy,” you might say, “what an accomplishment”. However, the generality of [...]

Lambda Constraint Typing

Here’s an idea for a type inference algorithm. For my project, I do not need an algorithm which determines types, just an algorithm which can answer questions about them. Also, I am not checking types; the fundamental assumption of my language is that the programmer is always right. I am simply getting [...]

Semantic Inference

I’m beginning to think about the finer details of my experimental language. In particular, I think that most of the semantic inference will come from type inference. And that is tricky, because I want subtyping and I want references (for type theory virgins, that’s a really tough combination; i.e. it is undecidable in [...]

Love, part 2

Okay, I just took the bus back from Karlin’s house, and I wanted to post before the high wears off.
It’s totally stupid to be sad about this. I mean, sure, someday she’ll dump me. I’ll have plenty of time to be sad then.
She makes me feel wonderful now. I am really [...]

Improv Band

I just posted the following to craigslist Denver:

I’m a keyboardist who has been playing for 12 years. I’m interested in starting an improv band, but somewhat different from a “jam band”. I want to see how improv goes when there is always one person not playing his instrument, but instead “conducting” the whole process (but [...]