summaryrefslogtreecommitdiffstats
path: root/RELNOTES
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2021-02-08 07:42:17 -0800
committerKaz Kylheku <kaz@kylheku.com>2021-02-08 07:42:17 -0800
commitc423a45e7c1899401b106c93a70a82b2f3c28873 (patch)
tree5174472519898ac93c01b580e26d2d1e7ea003a3 /RELNOTES
parent2293fbacbcc170f3e4793ff1ad3884318ea354d2 (diff)
downloadtxr-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--RELNOTES46
1 files changed, 46 insertions, 0 deletions
diff --git a/RELNOTES b/RELNOTES
index 008b3126..0fd5a116 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -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