grain icon indicating copy to clipboard operation
grain copied to clipboard

The Grain compiler toolchain and CLI. Home of the modern web staple. 🌾

Results 236 grain issues
Sort by recently updated
recently updated
newest added

type Foo = (List, List) formats to type Foo = ( /* comment2 */ List< /* comment1 */ /* comment2 */a>, List< /* comment1 */ /* comment2 */b> )

Earlier I came across a very peculiar bug that was causing a runtime error along the lines of this: ``` wasm://wasm/000100ca:1 RuntimeError: table index is out of bounds at wasm://wasm/000100ca:wasm-function[44]:0x3fc7...

bug

Add Regex.split to the Regex libary to allow spliting strings into arrays based on a regex pattern

Hi! I'm just curious if Grain is planning on supporting function overloading? The main reason I'm interested in overloading is for creating functions that can act as "data-first" when given...

This would add the ability to return early from a function. We've made the decision that if a function is to use a `return` statement, then all implicit returns must...

enhancement
compiler

Currently, when defining a `type` in Grain, it is recursive by default. I believe this is a holdover from ocaml and ocaml allows you to opt-out with the `type nonrec`...

syntax

The reverse application operator (`|>`) (sometimes called the pipeline operator) takes two arguments and applies the second argument to the first argument. The type signature of `|>` is `(a, a...

compiler

The `partial` operator allows you to partially apply a function. For example, look at this implementation of an add function: ```grain let add = (a, b) => a + b...

compiler

I found no way in standard library to print a string without appending a new line. So I implemented one for my needs for now based on print(), but I'm...

stdlib