Modularized Prelude And Improved Error Reporting
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.