Libraries

  • [@hydraz] Add setq! and over!. This time using pattern matching instead of compiler API hacks.
  • [@hydraz] Add optional struct type checks (enabled using -fstrict-structs).
  • [@hydraz] Add splicing-view (and use it in cdr et all).
  • [@SquidDev] Add splice, an improved replacement for unpack.
  • [@SquidDev] Add find-index and element-index.
  • [@hydraz] Add cardinality and disjoint? operations on sets.
  • [@SquidDev] Add several byte string conversion methods.
  • [@SquidDev] Performance improvements to io library.
  • [@SquidDev] Add exported-vars macro, making defining Lua-style modules easier.
  • [@SquidDev] Add demand and desire assertions.
  • [@hydraz] Improve LuaJIT bindings.

Compiler

  • [@SquidDev] Use defstruct instead of tables for most compiler internals.
  • [@SquidDev] Strip common traceback from error messages.
  • [@SquidDev] Add @foo shorthand for (splice foo).
  • [@SquidDev] Add option to run profiling tools at compile time.
  • [@SquidDev] Allow define-native to declare native metadata, removing the need for .meta.lua files.
  • [@SquidDev] Add module reloading to the REPL.

Optimiser/codegen

  • [@SquidDev] Defensively copy captured loop variables.
  • [@SquidDev] Convert the codegen to use spaces instead of tabs.
  • [@SquidDev] Fix optimiser and codegen handling variadic value wrappers.
  • [@SquidDev] Generate more sensible code for variadic constructs with a known number of arguments.