Jon Purdy

Results 68 comments of Jon Purdy

Thanks for thinking of it. I’ve had the idea of finding funding in the back of my mind for a while, but I guess the main reason I’ve held off...

Sort of. If you omit the condition from an `if`, it’s taken from the stack, and the branches can have any stack effect as long as they match. ``` define...

Currently, list literals cannot draw elements from the stack. I propose using the `_` placeholder to denote this. Just as for local variables, elements would be popped in the same...

If I weren’t trying to be clever, I would probably parse into a tree structure like in Haskell’s `aeson` library: ``` type Value: case object (HashMap) case array (List) case...

That’s the old compiler you’re running, but yeah, it should still be an issue with the new one, so it needs to be fixed. (Not a dup.)

Thanks, there’s nothing wrong with the code, it’s just a mismatch between the book and the implementation. I’ve removed that stray `print`. That error message is caused by a bug...

Not so radical—these are type aliases. :) In Haskell: ``` type IntOp = Int -> Int -> Int foo, bar :: IntOp foo = … bar = … ``` Heck,...

Constraints are actually part of type quantifiers (bounded polymorphism). I figure the notation will be basically like in the talk: ``` define concat (List -> T) where (zero, (+)) ^^^...

It looks like we can represent an expression `.label` with a `Get` constructor for `Term`, then infer the type as α → α::label, that is, whatever the type of `label`...

Note to self: program composition should use right-biased union of definition sets, also removing definitions that had referenced redefined definitions.