0.0.21
Pre-release
Pre-release
0.0.21 - 2023-10-21
Language
- Massive Change - Functions are no longer first-class values. This has many implications:
- Functions can no longer be put in arrays or manipulated as stack values
- Inline functions can now only appear as modifier arguments or bindings
call !
has been removed, as there is nothing on the stack to call- Modules have been reworked.
&i
now handles both loading a module from a file and importing items from that module. ---
scopes are now test scopes.~~~
scopes have been removed.- Remove
use
, as it is no longer necessary - Boxes still work as normal, but are now their own type distinct from functions
- Remove
sig
, as everything that can be on the stack now has the same signature
- Add new syntax for defining custom modifiers
- Add new syntax for calling a function from a list of functions
- Add the
pack
⊐
modifier, which calls its function and implicitly boxes/unboxes values - Add the
combinate
◳
modifier, which is a rank-generic version oftable
⊞
fold
∧
is now rank-generic and requires a rank list- Add the
tribute
≐
modifier, which is a flipped version ofdistribute
∺
- Change
level
≑
's glyph to reflect its relationship witheach
∵
,rows
≡
,distribute
∺
, andtribute
≐
. Code using⍚
will continue to work and will be formatted as≑
. - Add
rock
⋄
,surface
~
,deep
≊
,abyss
≃
, andseabed
∸
, which build rank lists to be used withlevel
≑
and the new rank-generic modifiers - Change
trace
⸮
's glyph to letsurface
~
use~
. - Change
match
≍
's glyph to avoid confusion with the new ocean functions' glyphs. Code using≅
will continue to work and will be formatted as≍
. - Stack signatures found to be incorrect at runtime produce an error
- Dyadic math operations now work with
under
⍜
even if both arguments are outsideunder
⍜
's function - Some mathematical functions that previously did not work with
invert
⍘
andunder
⍜
when accompanied byflip
∶
now do
Website
- Add 3 new tutorials
- The orientation of stack values in the output can be flipped in the settings