typeswitch-dev

Results 12 issues of typeswitch-dev

Currently std.map implements a lookup list. It should be some kind of (ordered) search tree instead. This requires changing the APIs to take a comparison function callback on lookup and...

library

Either make the metavariable numbers stable within each definition, or don't print the numbers when showing the type (replacing them with variable names perhaps). Currently the instability is the reason...

feature
compiler

The "typecheck-everything" word is a misnomer, since what it does is elaborate everything. We should rename it! And there should be an actual "typecheck everything" pass, after elaboration, to make...

compiler

During word elaboration, the elaborator should verify that types are actually types and are fully applied, resources are actually resources, etc.

compiler

It would be very convenient to be able to generate *and test* multi-line error messages. Ideally when emitting an error in the compiler, you could also emit a list of...

compiler

Right now we only support very simple pattern matches. The parsing & type checking for more complex patterns is already in place, but the backend is missing -- we need...

compiler

Currently the way modules are loaded is a bit silly: when elaborating module definitions, if an import statement is found, it stops elaborating the current module and starts elaborating the...

compiler

Doc comments annotate the following atom, usually some kind of a definition: ```mirth ||| This is a doc comment. def(bar, ..., ...) ``` Right now these are discarded in the...

compiler

Because STACK_TYPE_UNIT is treated specially when applying type signatures (during type checking), it would be better if rigidify-sig! detected cases where the stack base of an arrow type can be...

compiler

We can have stack type variables and resource type variables in type signatures, but we can't pass these variables (or stacks or resources) as arguments to type constructors (or resource...

feature