Skip to content

Syntax Changes, Explicit References and JSON/smgpack serialization.

Compare
Choose a tag to compare
@WeirdConstructor WeirdConstructor released this 13 Sep 12:07
· 1050 commits to master since this release

0.3.0 (2019-09-13)

  • Incompatible Change: Removed :wref and :ref definition labels in favor of
    proper $&&, $& and $* reference handling. Added wl:weaken and wl:set_ref and
    .*x = ... syntax for even more reference handling.
  • Incompatible Change: Replaced [] with () parenthesis. This means function calls
    are now having the [] brackets as argument list delimiters and
    regular arithmetics and expression grouping/delimiting is done with the more
    traditional () parenthesis. This is hopefully the last big incompatible syntax change
    before the 1.0 release.
  • Feature: ser:json got a non-pretty print argument.
  • Doc: Documented ser:json and deser:json, with additional examples.
  • Feature: ser:msgpack and deser:msgpack added.
  • Feature: Implemented wl:eval for evaluating wlambda code from inside
    wlambda code, so you can evaluate code while you are evaluating code.
  • Feature: Thread communication helpers implemented for connecting
    WLambda EvalContext instances accross threads and providing easy
    cross thread messaging and RPC.
  • Feature: Custom userdata can be implemented using the VValUserData trait.
  • Feature: Added more bytes related functions and call properties.
    bytes:to_vec, bytes:from_vec, bytes:to_hex, bytes:from_hex,
    str:to_utf8, str:from_utf8, str:from_utf8_lossy.
  • Feature: Added len function to get the length of vectors and other
    sequential data structures. str:len returns the length in unicode characters
    now.
  • Bugfix: Weak upvalue references were not properly handled and directly returned
    by variable accesses.

0.2.2 (2019-09-01)

  • - and + are not parsed as operator if a digit follows.
    fun :bar -2 2 was parsed as operator call for -.
    Sometime in the future we should change to a proper tokenizer.
  • Bugfix: Assigning to a local variable cleared it's :ref state.
  • Feature: Added optional serde/serde_json implementation and prelude
    function ser:json and deser:json.

0.2.1 (2019-07-18)

  • Removed unprefixed destructuring syntax for a more consistent syntax.
  • Assignments and definitions no longer return the stored value because
    it mixes badly with $error values.