summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
Diffstat (limited to 'share')
-rw-r--r--share/txr/stdlib/op.tl18
1 files changed, 18 insertions, 0 deletions
diff --git a/share/txr/stdlib/op.tl b/share/txr/stdlib/op.tl
index b93b4e17..2457a096 100644
--- a/share/txr/stdlib/op.tl
+++ b/share/txr/stdlib/op.tl
@@ -105,3 +105,21 @@
(defmacro lop (:form f :env e . args)
(sys:op-expand f e args))
+
+(defmacro ap (. args)
+ ^(apf (op ,*args)))
+
+(defmacro ip (. args)
+ ^(ipf (op ,*args)))
+
+(defmacro ado (. args)
+ ^(apf (do ,*args)))
+
+(defmacro ido (. args)
+ ^(ipf (do ,*args)))
+
+(defmacro ret (. args)
+ ^(op identity (progn @rest ,*args)))
+
+(defmacro aret (. args)
+ ^(ap identity (progn @rest ,*args)))