mirth
mirth copied to clipboard
Compiler for the Mirth programming language.
Mirth sounds great, but how can I get into it? In order of priority, I think it needs: * Code snippets for the README * A brief argument -- what's...
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...
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...
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...
During word elaboration, the elaborator should verify that types are actually types and are fully applied, resources are actually resources, etc.
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...
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...
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...
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...
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...