Skip to content

Releases: grain-lang/grain

@grain/compiler @grain/compiler-v0.4.4

11 Dec 02:39
ad60052
Compare
Choose a tag to compare

Features

Bug Fixes

  • compiler: Allow modules to re-export imported types containing generics (#1019) (003cb1e)
  • compiler: Consider invalid CMIs as out of date and recompile (#1061) (80da3a9)
  • compiler: Fix binop operator reported location (#1018) (422dbcb)
  • compiler: Fix counting of stack size (#1066) (f1b3e51)
  • compiler: Fix error message when trying to export a constructor (#1055) (54ddb67)
  • compiler: Fix memory leaks when loading from heap values (#1038) (7d3402d)
  • compiler: Properly apply bindings when executing match guard (#1039) (121644b)
  • compiler: Remove from default ident printer (#1056) (49cd5a0)
  • graindoc: Ensure value_description is resolved to outcome before printing (#1070) (5eb05cc)
  • grainfmt: Handle recursive enums (7dc77cd)
  • grainfmt: Resugar match lists properly (7dc77cd)
  • stdlib: Add bounds checking to Buffer addStringSlice & addBytesSlice (#1065) (06fe512)
  • stdlib: Support arrays of any type in Array rotate (#1048) (3ceb1cf)
  • stdlib: Support empty arrays in Array rotate (3ceb1cf)

@grain/stdlib stdlib-v0.4.3

27 Oct 16:23
20b4954
Compare
Choose a tag to compare

Features

  • stdlib: Add cycle function to Array module (#993) (c595622)

Bug Fixes

  • compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
  • compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
  • compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
  • runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)
  • stdlib: Fixed memory leak in String.explode (#1001) (c479a05)

Grain v0.4.4

27 Oct 16:23
20b4954
Compare
Choose a tag to compare

Features

Bug Fixes

  • compiler: Ensure main module is included in linker dependency graph (#996) (d5c6c04)
  • compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
  • compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
  • compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
  • compiler: Properly unmark type manifest bodies (bc648ce)
  • grainfmt: Break long parameterized types (bc648ce)
  • grainfmt: Wrap type annotation for a long line let assignment (#1005) (963b505)
  • linking: Close file after reading (c404fcf)
  • Properly open & close files (#985) (c404fcf)
  • runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)
  • stdlib: Fixed memory leak in String.explode (#1001) (c479a05)

@grain/cli cli-v0.4.4

27 Oct 16:23
20b4954
Compare
Choose a tag to compare

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @grain/stdlib bumped from ^0.4.2 to ^0.4.3

@grain/compiler @grain/compiler-v0.4.3

27 Oct 16:23
20b4954
Compare
Choose a tag to compare

Features

Bug Fixes

  • compiler: Ensure main module is included in linker dependency graph (#996) (d5c6c04)
  • compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
  • compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
  • compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
  • compiler: Properly unmark type manifest bodies (bc648ce)
  • grainfmt: Break long parameterized types (bc648ce)
  • grainfmt: Wrap type annotation for a long line let assignment (#1005) (963b505)
  • linking: Close file after reading (c404fcf)
  • Properly open & close files (#985) (c404fcf)
  • runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)

@grain/stdlib stdlib-v0.4.2

12 Oct 00:20
f3acade
Compare
Choose a tag to compare

Features

  • compiler: Inline not (!) operator (#937) (3f5e9a9)
  • stdlib: Add Conv.wasmI32ToNumber function (#978) (c93ade8)
  • stdlib: Add string trim functions to String module (#951) (e55de8f)
  • stdlib: Regular Expressions (#680) (9601e16)

Bug Fixes

  • stdlib: Fix Char.code memory issue (#928) (dfa31d8)
  • stdlib: Fix issue with list printing (#894) (e2a33a9)
  • stdlib: Fix memory issue in list printing (#912) (3e0a805)
  • stdlib: Fix memory leaks in Char stdlib (#929) (99cc94b)

Grain v0.4.3

12 Oct 00:20
f3acade
Compare
Choose a tag to compare

Features

  • Add npm releases to workflow (#948) (d55bbc0)
  • cli: Refactor forwardable options (#908) (9ecb49b)
  • compiler: Inline not (!) operator (#937) (3f5e9a9)
  • grainfmt: Add format in place or output to a new file (#904) (0d18935)
  • stdlib: Add Conv.wasmI32ToNumber function (#978) (c93ade8)
  • stdlib: Add string trim functions to String module (#951) (e55de8f)
  • stdlib: Regular Expressions (#680) (9601e16)

Bug Fixes

  • cli: Forward stdlib option to lsp and graindoc (#916) (07c5237)
  • cli: Only add --experimental-wasm-bigint flag on node 14 or 15 (#899) (1cc0c5c)
  • compiler: Allow trailing commas in imports and destructuring (#890) (f5c24c9)
  • compiler: Do not inline aliased mutables (#909) (a50430a)
  • compiler: Don't over-optimize mutable imports (#967) (c3066f6)
  • compiler: Don't warn on exhaustive boolean matches (#913) (4189745)
  • compiler: Ensure cwd directory is normalized on Windows (#952) (a3ab9c3)
  • compiler: Export functions with aliased names as wasm functions (#920) (afba142)
  • compiler: Fix parsing of block with lone 0-arg enum (#885) (edfc21e)
  • compiler: Fix stack/heap number allocation boundary (#974) (47b0f56)
  • compiler: Follow proper calling convention when callling stdlib equals in match (#895) (73fe7d4)
  • compiler: Parse array set with newline correctly (#926) (14e1822)
  • compiler: Remove existing exports when writing universal exports (#919) (e80de43)
  • compiler: Resolve all modules fully during linking (#950) (33b33a3)
  • Correctly preserve start position for character literals (#931) (8fcc575)
  • graindoc: Only extract attributes from Doc comments (#970) (7b6ee5f)
  • grainfmt: fix some spacing issues with the formatter (#955) (9c4be85)
  • grainfmt: Format CRLF files without error (#941) (ece7536)
  • grainfmt: Group infix functions when passed as params (bb9666d)
  • grainfmt: handle empty type for foreign exports (#907) (d3b60a4)
  • grainfmt: Improve formatter performance (#959) (4e739f1)
  • grainfmt: Print attributes for non-toplevel expressions (#887) (72292fe)
  • grainfmt: remove extra spaces around for/while loop conditions (#897) (2054a83)
  • grainfmt: Remove extraneous parens around infix function application (#902) (5c1906a)
  • grainfmt: Removed a trailing comma after a spread in a list, and fixed escaped single quote (#923) (3a138d6)
  • grainfmt: Resolve issues with comments within braces (#888) (9c88b89)
  • stdlib: Fix Char.code memory issue (#928) (dfa31d8)
  • stdlib: Fix issue with list printing (#894) (e2a33a9)
  • stdlib: Fix memory issue in list printing (#912) (3e0a805)
  • stdlib: Fix memory leaks in Char stdlib (#929) (99cc94b)

@grain/cli cli-v0.4.3

12 Oct 00:20
f3acade
Compare
Choose a tag to compare

Features

  • cli: Refactor forwardable options (#908) (9ecb49b)
  • grainfmt: Add format in place or output to a new file (#904) (0d18935)

Bug Fixes

  • cli: Forward stdlib option to lsp and graindoc (#916) (07c5237)
  • cli: Only add --experimental-wasm-bigint flag on node 14 or 15 (#899) (1cc0c5c)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @grain/stdlib bumped from ^0.4.1 to ^0.4.2

@grain/compiler @grain/compiler-v0.4.2

12 Oct 00:20
f3acade
Compare
Choose a tag to compare

Features

  • compiler: Inline not (!) operator (#937) (3f5e9a9)
  • grainfmt: Add format in place or output to a new file (#904) (0d18935)
  • stdlib: Add Conv.wasmI32ToNumber function (#978) (c93ade8)
  • stdlib: Add string trim functions to String module (#951) (e55de8f)
  • stdlib: Regular Expressions (#680) (9601e16)

Bug Fixes

  • compiler: Allow trailing commas in imports and destructuring (#890) (f5c24c9)
  • compiler: Do not inline aliased mutables (#909) (a50430a)
  • compiler: Don't over-optimize mutable imports (#967) (c3066f6)
  • compiler: Don't warn on exhaustive boolean matches (#913) (4189745)
  • compiler: Ensure cwd directory is normalized on Windows (#952) (a3ab9c3)
  • compiler: Export functions with aliased names as wasm functions (#920) (afba142)
  • compiler: Fix parsing of block with lone 0-arg enum (#885) (edfc21e)
  • compiler: Fix stack/heap number allocation boundary (#974) (47b0f56)
  • compiler: Follow proper calling convention when callling stdlib equals in match (#895) (73fe7d4)
  • compiler: Parse array set with newline correctly (#926) (14e1822)
  • compiler: Remove existing exports when writing universal exports (#919) (e80de43)
  • compiler: Resolve all modules fully during linking (#950) (33b33a3)
  • Correctly preserve start position for character literals (#931) (8fcc575)
  • graindoc: Only extract attributes from Doc comments (#970) (7b6ee5f)
  • grainfmt: fix some spacing issues with the formatter (#955) (9c4be85)
  • grainfmt: Format CRLF files without error (#941) (ece7536)
  • grainfmt: Group infix functions when passed as params (bb9666d)
  • grainfmt: handle empty type for foreign exports (#907) (d3b60a4)
  • grainfmt: Improve formatter performance (#959) (4e739f1)
  • grainfmt: Print attributes for non-toplevel expressions (#887) (72292fe)
  • grainfmt: remove extra spaces around for/while loop conditions (#897) (2054a83)
  • grainfmt: Remove extraneous parens around infix function application (#902) (5c1906a)
  • grainfmt: Removed a trailing comma after a spread in a list, and fixed escaped single quote (#923) (3a138d6)
  • grainfmt: Resolve issues with comments within braces (#888) (9c88b89)
  • stdlib: Fix Char.code memory issue (#928) (dfa31d8)
  • stdlib: Fix issue with list printing (#894) (e2a33a9)
  • stdlib: Fix memory issue in list printing (#912) (3e0a805)

@grain/stdlib stdlib-v0.4.1

08 Sep 00:58
2a5ec3d
Compare
Choose a tag to compare

Bug Fixes

  • stdlib: Annotate generic types in Buffer (#876) (ad46b9e)
  • stdlib: Correct fdPwrite return value (#875) (ceaf6af)
  • stdlib: Correct type signatures on some Array functions (#880) (04bf4d3)