Added
- Added support for matching against types with the pin operator (
... ~> ^int,... ~> ^(A[int] | B[bin])). - Added support for referencing processes by ID in the REPL with
@123.
Changed
- The value of a match expression (
... ~> =xorx = ...) now returns the value itself if the match is successful (and nil otherwise). - A send expression (
... ~> p) now returns the process. - Added support for multiple REPL instances in an environment.
- Various updates to the web API.
- Made 'int' and 'bin' reserved names, and updated the compiler to store variables and type aliases in a single bindings map.
- Updated syntax for defining types to use single colon (e.g.,
t : int | bin). - Some 'math' standard library functions (e.g., division) now return nil (
[]) instead of causing runtime errors. - Updated the select operator to separate sources by commas (e.g.,
!(p1, f, 1000)). - Added support for shorthand for spawning processes (
@int { ... }) and defining receive functions (!int). - Improved detail and formatting of parser errors.
Fixed
- Fixed pin matching with partial (
x = 1, A[x: 1] ~> ^A(x)).
npm package: https://www.npmjs.com/package/quiver-web/v/0.3.0