disco
disco copied to clipboard
Functional teaching language for use in a discrete mathematics course
Should be able to handle this similarly to #317.
It would be really cool to allow users to define infix operators (especially in terms of moving stuff into the standard library). While we're at it we might allow postfix...
When printing a result that contains a Unicode character that character and everything after is replaced with an error like `: commitBuffer: invalid argument (invalid character)`. This seems to be...
Trying to load a file containing ``` if : N if = 0 ``` results in ``` ./bad.disco:1:1: | 1 | if : N | ^ unexpected 'i' expecting "import",...
Currently we can define ADTs using recursive sum types, *e.g.* ``` type Tree = Unit + N * Tree * Tree ``` We can then define constructor synonyms like ```...
There's no reason we shouldn't allow qualified types to show up if students are ready for them. See also #169.
It is actually common in mathematics to use commas or other separators around ellipses, *e.g.* $\{1, 2, \dots, 10\}$. So it is unfortunate that Disco currently rejects this, requiring no...
Infix max, min are weird and nonstandard.
Perhaps the default should be to pretty-print everything using ASCII syntax --- for ease of copy-pasting --- but with an extension to enable pretty-printing with Unicode syntax?
It seems a bit inconsistent that all other recursive types will be built directly from sums and products, and use `left`, `right`, and tuples for construction and pattern-matching, but the...