Syntax Changes, Explicit References and JSON/smgpack serialization.
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. Addedwl:weaken
andwl: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
functionser:json
anddeser: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.