Paul Stansifer

Results 39 issues of Paul Stansifer

This comes up when implementing a function application macro and trying to use it on a function with a generic type, so this is blocking making any good example languages....

enhancement

In order to use generics, we need subtyping. So an `apply` macro, instead of demanding that the function be of type [I -> O], should demand that it be a...

enhancement

When we assemble a `Node` from its constituent `Ast`, we should check to see if any `Named` names in its grammar are absent from the parse result so far. If...

bug
good first issue
E-small

The current Unseemly syntax is ad-hoc, and it's a mess. But maybe the syntax for syntax operations, while weird, is okay. I think the thing I keep on tripping over...

enhancement
E-small

`dotdotdot` should be able to go anywhere a repetition can happen. For example, it should be possible to write ``` '[Expr | .[ ...[,a, >> ,[a], : Int ]... ....

bug
E-big

Currently `Cell` is a subtype of `forall T . Cell`. That's okay. But also `Cell` is a subtype of `Cell`. That's bad, because you can't actually put a generic sequence...

bug
soundness

Currently, the web IDE assumes that you're writing in Unseemly (and `import` won't work, besides). Allow the generation of web IDEs that assume a specific language. This should only ("only")...

enhancement
E-medium
tools

I think it might be as simple as capturing the type environment at syntax extension time and substituting.

E-small
refactoring

Currently, `ast_walk` freshens every `Ast` element (maybe we should call the different kinds of `Ast` "nodule"s?) it traverses. This is usually unnecessary! For example, if one is evaluating or typechecking...

refactoring

The whole "we need to look at the node that contains us to figure out whether we're being literal" is ugly, especially the corner case for what to do if...

refactoring