Releases
stdlib-v0.3.0
@grain/stdlib stdlib-v0.3.0
⚠ 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 entrypoint with locator file (#586 ) (a9ec7e2 )
You can’t perform that action at this time.