Oscar Spencer
Oscar Spencer
This flag no longer does anything, and we have better ways of debugging the parser now.
It's too easy to accidentally forget to pass locations to parsetree nodes because they're optional. (They're currently optional to make writing tests a little easier, but we no longer feel...
This will need to be done via primitives or `foreign wasm`, since we don't have syntax for `Infinity` or `NaN`.
I think Prettier has a really solid DX around infix operators. If the operator is all the same, they don't add any parens, but they do otherwise. It adds a...
Right now if you format `foo && bar && baz` (imagine those are all long things that cause wrapping) you get ``` foo && bar && baz ``` but if...
This has been a bit of a workaround that has worked for a while but will likely cause problems. https://github.com/grain-lang/grain/blob/3e7c147fea2d2fb8b7c5a3d6b3eb1453f2861e36/compiler/src/typed/typemod.re#L987
This is a breaking change and thus should appear in Grain's next breaking release. See also #730
Reproduction: https://github.com/spotandjake/BriskLinker @fad4f7235157ff36d1bc4a5084e9927fa481bd3b Running `grain index.gr` you get: ``` File "/linker/BuildFile.gr", line 84, characters 57-67: Error: This expression has type %WasmDecoder.WasmImportDescription but an expression was expected of type WasmDecoder.WasmImportDescription WasmDecoder::WasmImportDescription...
Type annotations can get unwieldy pretty fast, with types like `List`. I think it would be pretty cool to have shorthands for common types, like `[]` for lists, maybe `?`...
If I create a parameterized type alias and then create a weakly typed value of that type, unification does not occur: It's easy to tell here via `foo` still being...