Skip to content

ArkScript v4.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Feb 16:56
· 80 commits to dev since this release
Immutable release. Only release title and notes can be modified.
v4.3.0
3654654

Breaking change

  • in macros, len, empty?, head, tail, @ have been renamed to $len, $empty?, $head, $tail and $at. Those versions only work inside macros too, inside of having a weird dichotomy where they sometimes got applied and sometimes not

Added

  • apply function: (apply func [args...]), to call a function with a set of arguments stored in a list. Works with functions, closures and builtins
  • +, -, *, / and many other operators can now be passed around, like builtins. This now works: (list:reduce [1 2 3] +), where before we would get a compile time error about a "freestanding operator '+'"
  • builtin__slice builtin, for strings and lists: (builtin__slice data start end [step=1]) ; this is an experimentation and may be removed in future versions
  • arguments of builtin macros are properly type-checked and will now raise runtime errors if the type is incorrect
  • -fno-cache cli option to disable the creation of the bytecode cache folder __arkscript__
  • in the CLI, file can be - to read code from stdin

Changed

  • when using the cli flag -fdump-ir, the IR is dumped in the cache folder