Skip to content
This repository has been archived by the owner on Jul 7, 2024. It is now read-only.

0.7.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@SquidDev SquidDev released this 23 Feb 21:16
· 21 commits to master since this release

Libraries

  • [@zardyh] Add setq! and over!. This time using pattern matching instead of compiler API hacks.
  • [@zardyh] Add optional struct type checks (enabled using -fstrict-structs).
  • [@zardyh] 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.
  • [@zardyh] 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.
  • [@zardyh] 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.