diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2021-02-08 07:42:17 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2021-02-08 07:42:17 -0800 |
commit | c423a45e7c1899401b106c93a70a82b2f3c28873 (patch) | |
tree | 5174472519898ac93c01b580e26d2d1e7ea003a3 /RELNOTES | |
parent | 2293fbacbcc170f3e4793ff1ad3884318ea354d2 (diff) | |
download | txr-c423a45e7c1899401b106c93a70a82b2f3c28873.tar.gz txr-c423a45e7c1899401b106c93a70a82b2f3c28873.tar.bz2 txr-c423a45e7c1899401b106c93a70a82b2f3c28873.zip |
Version 251txr-251
* RELNOTES: Updated.
* configure, txr.1: Bumped version and date.
* share/txr/stdlib/ver.tl: Re-synced to 251.
* txr.vim, tl.vim: Regenerated.
Diffstat (limited to 'RELNOTES')
-rw-r--r-- | RELNOTES | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -1,3 +1,49 @@ + TXR 251 + 2021-02-08 + + + Features + + - structural pattern matching: + - now allows back-referencing with existing variables + outside of the pattern, greatly improving expressiveness. + - new @(with) operator, allows match between side pattern + and side object in parallel with main pattern and main object. + - @(let) renamed to @(as). + - clauses of @(and) now in same scope allowing back-referencing. + - redesign of lambda-match, using special argument matching rather + than a list pattern against the argument list. + - functions based on pattern matching now perform much better + - new :match parameter macro: + - adds pattern matching to any function in any situation + - supports mixture of regular arguments and pattern matching. + - predicate pattern syntax and semantics redesigned. + - predicates now have multiple arguments + - variable can be inserted anywhere in a predicate call, + including dot position + - variable can be omitted, giving rise to the object being + passed as the rightmost argument to the predicate call + - @(op ...) pattern is removed: + - not necessary due to improved predicate handling. + + - compiler: + - new optimizations + - error location reporting improved. + + Bugs + + - structural pattern matching + - fixed bad hygiene in match-case due to not using gensym. + - lib: + - fixed crash in nullify and iterable, when argument is + a C object that is not a struct. + - fixed long-standing bug in multi-sort: when the list(s) + are empty, it must return a list of empty lists, not nil. + E.g. [multi-sort '(nil nil nil) less] now returns + (nil nil nil) as documented, and not nil. + + + TXR 250 2021-01-31 |