Skip to content

Modularized Prelude And Improved Error Reporting

Compare
Choose a tag to compare
@WeirdConstructor WeirdConstructor released this 16 Sep 13:17
· 1032 commits to master since this release

0.3.1 (2019-09-16)

  • Incompatible Change: Removed create_wlamba_prelude() and added proper
    module support instead. Splitted up the prelude into a core part and the
    standard library utility functions. With !@wlambda you can import the core
    language globals. With !@import std std you import the standard library.
  • Feature: re:match added.
  • Bugfix: Errors weren't properly propagated by the threads::MsgHandle.
  • Change: Error reporting for arity mismatch contains the position of the
    function definition and the position of the call site.
  • Feature: Added std:append and std:prepend.
  • Change: Enhanced stringified version of a function.
  • Feature: Added apply [[@]] syntax for applying a function to a vector of arguments directly.
  • Change: Defined equality with == for everything.
  • Doc: Documented bool data type.
  • Bugfix: Fixed evaluation order of function arguments.
  • Feature: Implemented VVal::ref_id and std:ref_id which returns a
    unique 64bit signed integer dependent on the memory ID of the value.
    This is only useful for reference types, where the storage location of a
    value doesn't depend on the stack.
  • Feature: Made stringifying of WLambda data cope properly with cyclic data
    structures, this makes printing objects with closures work without
    locking up your script.
  • Change: Greatly enhanced error message file position reporting and
    panics have better backtraces now.