summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-06-16 06:40:49 -0700
committerKaz Kylheku <kaz@kylheku.com>2017-06-16 06:40:49 -0700
commitd212fc6284a6b7858da4570ef4d22cb88eec747a (patch)
treece7c6d4eb2b2bb51ba8138d5a2ae0a64653d5738 /txr.1
parent39317da1ce84bb30b103fc580219cb4e509da281 (diff)
downloadtxr-d212fc6284a6b7858da4570ef4d22cb88eec747a.tar.gz
txr-d212fc6284a6b7858da4570ef4d22cb88eec747a.tar.bz2
txr-d212fc6284a6b7858da4570ef4d22cb88eec747a.zip
Support ref, refset on structs via lambda, lambda-set.
* lib.c (ref, refset): Check for lambda and lambda-set, respectively, and use it. * txr.1: Documented. * tests/012/aseq.tl (add lambda): Fix previously unused broken method which now causes test to go into infinite recursion.
Diffstat (limited to 'txr.1')
-rw-r--r--txr.118
1 files changed, 18 insertions, 0 deletions
diff --git a/txr.1 b/txr.1
index 40eea806..3251c3f6 100644
--- a/txr.1
+++ b/txr.1
@@ -25596,6 +25596,24 @@ has retrieval and storage; in that case
.meta index
isn't restricted to an integer value.
+If
+.meta seq
+is a structure, it supports
+.code ref
+if it has a
+.code lambda
+method. The
+.meta index
+argument is passed to that method, and the resulting value is
+returned. Similarly, a structure supports
+.code refset
+if it has a
+.code lambda-set
+method, which is called with
+.meta index
+and
+.metn new-value .
+
The
.code ref
function retrieves an element of