summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2017-01-12 00:48:43 -0800
committerKaz Kylheku <kaz@kylheku.com>2017-01-12 00:48:43 -0800
commitedabbd10524c26018b19d51362c274de17bdc406 (patch)
treef241a34d3085cbac9db63ca501155fe5ccd1a114
parent84c278007db055b5d6081d20b8f6652c3c4a17a0 (diff)
downloadtxr-edabbd10524c26018b19d51362c274de17bdc406.tar.gz
txr-edabbd10524c26018b19d51362c274de17bdc406.tar.bz2
txr-edabbd10524c26018b19d51362c274de17bdc406.zip
doc: shorten param macro memoization example.
* txr.1: Replace silly loop with idiomatic code.
-rw-r--r--txr.17
1 files changed, 1 insertions, 6 deletions
diff --git a/txr.1 b/txr.1
index ade07359..6d4df4b2 100644
--- a/txr.1
+++ b/txr.1
@@ -28646,12 +28646,7 @@ The function is then memoized.
(sethash %memo% sym (hash :equal-based))))
(define-param-expander :memo (param body)
- (let* ((piter param)
- ;; memoize over required args
- (memo-parm (build
- (whilet ((p (pop piter))
- (x (and p (neq p :))))
- (add p))))
+ (let* ((memo-parm [param 0..(posq : param)])
(hash (gensym))
(key (gensym)))
^(,param (let ((,hash (ensure-memo ',hash))