Skip to content

Releases: grain-lang/grain

@grain/cli cli-v0.3.2

30 May 00:45
e5643ba
Compare
Choose a tag to compare

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @grain/stdlib bumped from * to ^0.3.2

@grain/compiler @grain/compiler-v0.3.2

30 May 00:45
e5643ba
Compare
Choose a tag to compare

Features

  • compiler: add better hover to LSP (#667) (7c7e9d7)
  • compiler: Upgrade to binaryen.ml v0.10.0 (#623) (940f0f1)
  • Implement Bytes type and Bytes stdlib (#633) (4b81898)
  • Implement Grain array methods in Grain instead of the compiler (#660) (b1397fa)
  • Keep track of warnings and report them in LSP mode (#659) (5144e1b)
  • Rename Queue/Stack functions & deprecate old identifiers (#635) (3a8da65)
  • stdlib: add Queue.size and Stack.size (#647) (82ed533)
  • stdlib: add Range.map (#674) (5c33861), closes #616
  • Support \b, \f, \t, and \v escapes (c5d3e44)

Bug Fixes

  • Always use correct wasm type for throw (#652) (dcec4e0)
  • compiler: Correct reporting of locations for CRLF files (#658) (457a011)
  • compiler: properly handle special float equality (#664) (b63597a)
  • Fix parsing of ''' char literal (c5d3e44)
  • grainc: Apply separator normalization before cmdliner util (#654) (992dfbd)
  • Properly escape quoted strings in toString/print (#670) (c5d3e44)
  • stdlib: fdWrite range error (#677) (73e0a7a)

@grain/stdlib stdlib-v0.3.1

29 Apr 21:13
7f42967
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • rename Queue/Stack lib methods (#625)

Reverts

Miscellaneous Chores

Grain v0.3.1

29 Apr 21:13
7f42967
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • rename Queue/Stack lib methods (#625)

Bug Fixes

  • cli: Correct typo in lsp catch block (#618) (b903ced)
  • Workaround for Windows drive letters with jsoo & pkg (#636) (d205cde)

Reverts

Miscellaneous Chores

@grain/cli cli-v0.3.1

29 Apr 21:13
7f42967
Compare
Choose a tag to compare

Bug Fixes

  • cli: Correct typo in lsp catch block (#618) (b903ced)

@grain/compiler @grain/compiler-v0.3.1

29 Apr 21:13
7f42967
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • rename Queue/Stack lib methods (#625)

Bug Fixes

  • Workaround for Windows drive letters with jsoo & pkg (#636) (d205cde)

Reverts

Miscellaneous Chores

@grain/stdlib stdlib-v0.3.0

21 Apr 22:31
19f44b5
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • stdlib: Replace JS entrypoint with locator file (#586)
  • Rename registerBasePrinter to dangerouslyRegisterBasePrinter in runtime/exception
  • Use Grain exceptions instead of JS exceptions (#565)
  • Update assignment semantics (#560)
  • Grain implementation of memory allocator (#530)
  • Refactor value tags (#526)
  • stdlib: Ensure string methods are data-last (#494)
  • runtime: Print strings without quotes (#495)
  • Char literals (#477)
  • Char (#474)
  • Rework memory management (#461)
  • convert fallible List methods to return Option (#460)
  • change return type of Array.find/findIndex to Option (#459)
  • Add support for bitwise operators (#425)
  • remove ^ as unbox operator (fixes #183) (#426)

Features

  • Add ability to throw exceptions (1f1cd4a)
  • Add ability to register custom exception printers (1f1cd4a)
  • Add Exception stdlib with Exception.registerPrinter (1f1cd4a)
  • add initial Range stdlib module (#456) (508f23c)
  • add List.init to stdlib (#465) (6b833d8)
  • add reduce/flatMap/every/some to Array stdlib (#455) (51a7a80)
  • add reducei/counti/filter/filteri/unique to Array stdlib (#473) (3e70cd5)
  • add Set stdlib module (#466) (2eb2604)
  • Add support for bitwise operators (#425) (5c2b8bf)
  • add update method to map stdlib (#421) (292b5f9)
  • change return type of Array.find/findIndex to Option (#459) (aa3767d)
  • Char (#474) (c9422f8)
  • Char literals (#477) (cf7eaa5)
  • Compile grainc to JS & create binaries with pkg (#570) (f4919bd)
  • convert fallible List methods to return Option (#460) (a08768e)
  • Grain implementation of Char and String libraries (#559) (7424cc5)
  • Grain implementation of equals (#538) (09617bc)
  • Grain implementation of hashing (#557) (40723fc)
  • Grain implementation of memory allocator (#530) (fd8faaa)
  • Grain implementation of memory manager (#534) (cea6dcc)
  • Grain implementation of number libraries (#542) (d90d38b)
  • Grain implementation of number runtime (#537) (94460c0)
  • Grain implementation of toString/print (#540) (8c77905)
  • Grain wasi bindings (#562) (323006b)
  • Implement low-level wasm i32/i64/f32/f64 libraries (#517) (721d011)
  • Implement String.indexOf, String.explode, and String.split (#450) (6dc5466)
  • Implement support for printing in Grain (#561) (bfe471c)
  • Optimize number to string conversions by writing UTF8 directly (#539) (f18d26e)
  • stdlib: add Stack module (#491) (8310d33)
  • stdlib: Implement Char toString (#481) (37ba683)
  • stdlib: String.implode (#489) (045077b)
  • Update assignment semantics (#560) (03a3217)
  • Use Grain exceptions instead of JS exceptions (#565) (1f1cd4a)

Bug Fixes

  • export * with exceptions (1f1cd4a)
  • Can't use memory.data (#480) (1a4c3b9)
  • loop body typechecking (#533) (18e68ea)
  • Properly incRef exception printers (#581) (61c2a94)
  • remove ^ as unbox operator (fixes #183) (#426) (08b6b05)
  • Rework memory management (#461) (84318b0)
  • runtime: Return correct pointer to morecore (#602) (af39cc4)
  • Throwing an exception now traps immediately in all cases (61c2a94)
  • use direct node call instead of executable file (#431) (747ee8d)
  • Use Is instead of Eq for match variant comparison (1f1cd4a)

Miscellaneous Chores

  • Refactor value tags (#526) (9b21d22)
  • Rename registerBasePrinter to dangerouslyRegisterBasePrinter in runtime/exception (61c2a94)
  • runtime: Print strings without quotes (#495) (16671c2)
  • stdlib: Ensure string methods are data-last (#494) (f871efc)
  • stdlib: Replace JS entryp...
Read more

@grain/runtime runtime-v0.3.0

21 Apr 22:31
19f44b5
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • Correct type signature for _start
  • Introduce _gmain for old behavior of _start
  • Tail calls must be enabled explicitly via --experimental-wasm-tail-call
  • Static linking of Grain modules (#584)
  • Streamline runtime dependencies & entrypoints (#585)
  • Use Grain exceptions instead of JS exceptions (#565)
  • Grain implementation of memory allocator (#530)
  • Refactor value tags (#526)
  • Char (#474)
  • Rework memory management (#461)

Features

  • Add ability to throw exceptions (1f1cd4a)
  • Add ability to register custom exception printers (1f1cd4a)
  • Add Exception stdlib with Exception.registerPrinter (1f1cd4a)
  • Add support for loading Grain modules directly from an ArrayBuffer and running them (f07f305)
  • allow setting the initial memory via CLI option (#448) (213ee5a)
  • Char (#474) (c9422f8)
  • Grain implementation of equals (#538) (09617bc)
  • Grain implementation of memory allocator (#530) (fd8faaa)
  • Grain implementation of memory manager (#534) (cea6dcc)
  • Grain implementation of toString/print (#540) (8c77905)
  • Implement support for printing in Grain (#561) (bfe471c)
  • Normalized wasm exports for linked modules (3d4ac6e)
  • Static linking of Grain modules (#584) (3d4ac6e)
  • Support for more WebAssembly runtimes, including Wasmtime and Wasmer (3d4ac6e)
  • Use Grain exceptions instead of JS exceptions (#565) (1f1cd4a)

Bug Fixes

  • export * with exceptions (1f1cd4a)
  • Correct type signature for _start (3d4ac6e)
  • Rework memory management (#461) (84318b0)
  • runtime: Properly decRef record and array values (#500) (88adb94)
  • runtime: Return correct pointer to morecore (#602) (af39cc4)
  • Use Is instead of Eq for match variant comparison (1f1cd4a)
  • Use proper return type for calls to external functions (3d4ac6e)
  • utilize path.join to create filesystem paths in default locator (#432) (8aa4fa0)

Miscellaneous Chores

  • Introduce _gmain for old behavior of _start (3d4ac6e)
  • Refactor value tags (#526) (9b21d22)
  • Streamline runtime dependencies & entrypoints (#585) (bbdd38d)
  • Tail calls must be enabled explicitly via --experimental-wasm-tail-call (3d4ac6e)

Grain v0.3.0 - Barley

21 Apr 22:31
19f44b5
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • cli: Remove -f CLI option
  • compiler: Remove --principal-types and --recursive-types compiler flags
  • compiler: Rename --cdebug to --verbose
  • cli: Pass compiler flags from the CLI to grainc directly (#613)
  • Correct type signature for _start
  • Introduce _gmain for old behavior of _start
  • Tail calls must be enabled explicitly via --experimental-wasm-tail-call
  • Static linking of Grain modules (#584)
  • stdlib: Replace JS entrypoint with locator file (#586)
  • Streamline runtime dependencies & entrypoints (#585)
  • Rename registerBasePrinter to dangerouslyRegisterBasePrinter in runtime/exception
  • Use Grain exceptions instead of JS exceptions (#565)
  • Update assignment semantics (#560)
  • Grain implementation of memory allocator (#530)
  • Refactor value tags (#526)
  • stdlib: Ensure string methods are data-last (#494)
  • runtime: Print strings without quotes (#495)
  • Char literals (#477)
  • Char (#474)
  • Rework memory management (#461)
  • convert fallible List methods to return Option (#460)
  • change return type of Array.find/findIndex to Option (#459)
  • upgrade binaryen to 0.4.0 & update test invocation to work with it (#435)
  • Add support for bitwise operators (#425)
  • remove ^ as unbox operator (fixes #183) (#426)

Features

Read more

@grain/cli cli-v0.3.0

21 Apr 22:31
19f44b5
Compare
Choose a tag to compare

⚠ BREAKING CHANGES

  • cli: Remove -f CLI option
  • compiler: Remove --principal-types and --recursive-types compiler flags
  • compiler: Rename --cdebug to --verbose
  • cli: Pass compiler flags from the CLI to grainc directly (#613)
  • Rework memory management (#461)

Features

  • allow setting the initial memory via CLI option (#448) (213ee5a)
  • cli: Pass compiler flags from the CLI to grainc directly (#613) (8f40383)
  • Compile grainc to JS & create binaries with pkg (#570) (f4919bd)
  • Grain implementation of memory manager (#534) (cea6dcc)
  • Grain implementation of toString/print (#540) (8c77905)
  • Use real wasm tail call instruction (#510) (9c9ffe4)

Bug Fixes

  • replace shebang trick with flagged-respawn to support Windows (#430) (4ea2602)
  • Rework memory management (#461) (84318b0)

Miscellaneous Chores

  • cli: Remove -f CLI option (8f40383)
  • compiler: Remove --principal-types and --recursive-types compiler flags (8f40383)
  • compiler: Rename --cdebug to --verbose (8f40383)