summaryrefslogtreecommitdiffstats
path: root/txr.1
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-09-11 18:42:00 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-09-11 18:42:00 -0700
commit7b28c795b04bef5328b64fa50498d13d8a642e3b (patch)
tree3bfb45cc0220ef144a858fc24ce7814b251887fc /txr.1
parent41491701550523a649c256a10a4748030423f427 (diff)
downloadtxr-7b28c795b04bef5328b64fa50498d13d8a642e3b.tar.gz
txr-7b28c795b04bef5328b64fa50498d13d8a642e3b.tar.bz2
txr-7b28c795b04bef5328b64fa50498d13d8a642e3b.zip
New alet macro.
* lisplib.c (place_set_entries): Add alet symbol to autoload list for place.tl. * share/txr/stdlib/place.tl (alet): New macro. * txr.1: Documented alet.
Diffstat (limited to 'txr.1')
-rw-r--r--txr.125
1 files changed, 25 insertions, 0 deletions
diff --git a/txr.1 b/txr.1
index d4a42a72..06d4e775 100644
--- a/txr.1
+++ b/txr.1
@@ -27812,6 +27812,31 @@ to symbol macros. In addition, unlike
also reduces to symbol macros those bindings which
are initialized by symbol expressions (values of variables).
+.coNP Macro @ alet
+.synb
+.mets (alet >> ({( sym << init-form )}*) << body-form *)
+.syne
+.desc
+The macro
+.code alet
+("atomic" or "all") is a stronger form of the
+.code slet
+macro. The transformation of any of the bindings to symbol macros takes place
+under the same conditions as under
+.codn slet .
+However,
+.code alet
+imposes the restriction that all the bindings must be transformed
+to symbol macros, or not at all.
+
+The
+.code alet
+macro can be used to avoid introducing temporary variables in situations when
+it is suspected that the initializing forms for the variables have side
+effects through which they affect each others' evaluations. The suspicion is
+lifted if the all initializing forms (after expansion) are constants, or
+accesses to symbols.
+
.coNP Macro @ define-accessor
.synb
.mets (define-accessor < get-function << set-function )