summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-11-02 20:41:28 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-11-02 20:41:28 -0700
commit167ae958a8a4376703ade38a8f9c56763e3626f3 (patch)
tree02dc2e12ff4dbdc6a986c8e1688f838443713754 /share
parentafb21018f168e886552f460834ba393c083f80ee (diff)
downloadtxr-167ae958a8a4376703ade38a8f9c56763e3626f3.tar.gz
txr-167ae958a8a4376703ade38a8f9c56763e3626f3.tar.bz2
txr-167ae958a8a4376703ade38a8f9c56763e3626f3.zip
The code expander becomes a public API.
The functions sys:expand, sys:expand* and sys:expand-with-free-refs are now in the usr package and documented for public use. * eval.c (eval_init): Move registrations of the symbools expand, expand* and expand-with-free-refs from the system package to the user package. * share/txr/stdlib/awk.tl (sys:awk-mac-let, awk): Uses of sys:expand drop the sys: prefix. * share/txr/stdlib/op.tl (sys:op-alpha-rename): Likewise. * share/txr/stdlib/place.tl (call-upudate-expander, call-clobber-expander, call-delete-expander, sys:placelet-1): Likewise. * tests/011/macros-2.txr, tests/012/struct.tl: Likewise. * txr.1: Documented expand, expand* and expand-with-free-refs.
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/awk.tl12
-rw-r--r--share/txr/stdlib/op.tl2
-rw-r--r--share/txr/stdlib/place.tl10
3 files changed, 11 insertions, 13 deletions
diff --git a/share/txr/stdlib/awk.tl b/share/txr/stdlib/awk.tl
index 4e603f9e..cb08eeb4 100644
--- a/share/txr/stdlib/awk.tl
+++ b/share/txr/stdlib/awk.tl
@@ -375,9 +375,9 @@
(let* ((style (car form))
(ix (pinc (qref ,awc nranges)))
(rng-temp (gensym))
- (from-expr-ex (sys:expand from-expr e))
+ (from-expr-ex (expand from-expr e))
(from-expr-val (gensym))
- (to-expr-ex (sys:expand to-expr e))
+ (to-expr-ex (expand to-expr e))
(to-expr-val (gensym))
(vec-temp (qref ,awc rng-vec-temp))
(emul-broken (and (plusp sys:compat) (<= sys:compat 177)))
@@ -393,10 +393,8 @@
(to-expr-ex te-fv te-ff te-ev te-ef)
(from-expr-orig to-expr-orig))
(list
- (sys:expand-with-free-refs from-expr e
- ,awc.outer-env)
- (sys:expand-with-free-refs to-expr e
- ,awc.outer-env)
+ (expand-with-free-refs from-expr e ,awc.outer-env)
+ (expand-with-free-refs to-expr e ,awc.outer-env)
(list (cadr form) (caddr form)))
(sys:awk-code-move-check ,awc ',aws-sym
form from-expr-orig
@@ -479,7 +477,7 @@
(let* ((p-actions-xform-unex (mapcar (aret ^(when (sys:awk-test ,@1 rec)
,*@rest))
awc.cond-actions))
- (p-actions-xform (sys:expand
+ (p-actions-xform (expand
^(sys:awk-mac-let ,awc ,aws-sym
,*p-actions-xform-unex)
(sys:awk-fun-shadowing-env outer-env))))
diff --git a/share/txr/stdlib/op.tl b/share/txr/stdlib/op.tl
index d496249c..3c3d85b0 100644
--- a/share/txr/stdlib/op.tl
+++ b/share/txr/stdlib/op.tl
@@ -71,7 +71,7 @@
,*(if do-nested-metas
^((,(slot ctx 'meta) ((quote arg)) arg))))
,op-args)))
- (sys:expand code e)))
+ (expand code e)))
(defun sys:op-expand (f e args)
(let* ((ctx (make-struct 'sys:op-ctx ^(form ,f)))
diff --git a/share/txr/stdlib/place.tl b/share/txr/stdlib/place.tl
index 26ca1d94..6e85d3d8 100644
--- a/share/txr/stdlib/place.tl
+++ b/share/txr/stdlib/place.tl
@@ -148,7 +148,7 @@
(expander (get-update-expander place))
(sys:*pl-env* env)
(expansion [expander getter setter place body])
- (expansion-ex (sys:expand expansion env)))
+ (expansion-ex (expand expansion env)))
(sys:propagate-ancestor expansion-ex place getter setter)))
(defun call-clobber-expander (ssetter unex-place env body)
@@ -157,7 +157,7 @@
(expander (get-clobber-expander place))
(sys:*pl-env* env)
(expansion [expander ssetter place body])
- (expansion-ex (sys:expand expansion env)))
+ (expansion-ex (expand expansion env)))
(sys:propagate-ancestor expansion-ex place ssetter)))
(defun call-delete-expander (deleter unex-place env body)
@@ -166,7 +166,7 @@
(expander (get-delete-expander place))
(sys:*pl-env* env)
(expansion [expander deleter place body])
- (expansion-ex (sys:expand expansion env)))
+ (expansion-ex (expand expansion env)))
(sys:propagate-ancestor expansion-ex place deleter)))
(defmacro with-update-expander ((getter setter) unex-place env body)
@@ -874,8 +874,8 @@
,tmp-body)))
(call-update-expander pl-getter pl-setter place env
^(macrolet ((,tmp-place () ^(,',pl-getter)))
- ,(sys:expand ^(symacrolet ((,sym (,tmp-place)))
- ,*body) env))))
+ ,(expand ^(symacrolet ((,sym (,tmp-place)))
+ ,*body) env))))
(remhash *place-update-expander* tmp-place))))
(defmacro placelet* (sym-place-pairs . body)