Oscar Spencer

Results 135 issues of Oscar Spencer

This flag no longer does anything, and we have better ways of debugging the parser now.

good first issue

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...

good first issue

This will need to be done via primitives or `foreign wasm`, since we don't have syntax for `Infinity` or `NaN`.

enhancement
stdlib

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 `?`...

question

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...