Releases: grain-lang/grain
Releases · grain-lang/grain
@grain/stdlib stdlib-v0.3.2
Features
- Export number runtime functions as operators & deprecate old identifiers (#629) (b99441a)
- Implement Bytes type and Bytes stdlib (#633) (4b81898)
- Implement Grain array methods in Grain instead of the compiler (#660) (b1397fa)
- Rename Queue/Stack functions & deprecate old identifiers (#635) (3a8da65)
- stdlib: add
Queue.size
andStack.size
(#647) (82ed533) - stdlib: add Range.map (#674) (5c33861), closes #616
- Support \b, \f, \t, and \v escapes (c5d3e44)
Bug Fixes
Grain v0.3.2
Features
- compiler: add better hover to LSP (#667) (7c7e9d7)
- compiler: Upgrade to binaryen.ml v0.10.0 (#623) (940f0f1)
- Export number runtime functions as operators & deprecate old identifiers (#629) (b99441a)
- 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
andStack.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/cli cli-v0.3.2
Dependencies
- The following workspace dependencies were updated
- dependencies
- @grain/stdlib bumped from * to ^0.3.2
- dependencies
@grain/compiler @grain/compiler-v0.3.2
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
andStack.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
Grain v0.3.1
@grain/cli cli-v0.3.1
@grain/compiler @grain/compiler-v0.3.1
@grain/stdlib stdlib-v0.3.0
⚠ BREAKING CHANGES
- stdlib: Replace JS entrypoint with locator file (#586)
- Rename
registerBasePrinter
todangerouslyRegisterBasePrinter
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
@grain/runtime runtime-v0.3.0
⚠ 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)