summaryrefslogtreecommitdiff
path: root/src/content/en/pastebin/2016/04/05/rpn.adoc
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2025-04-30 06:23:27 -0300
committerEuAndreh <eu@euandre.org>2025-04-30 06:33:36 -0300
commit61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da (patch)
treefc3c799bece509682b712f6e42e2816059c83c7a /src/content/en/pastebin/2016/04/05/rpn.adoc
parentMakefile: No need to remove non-generated *.mo files (diff)
downloadeuandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.gz
euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.xz
src/content/en/: Unpluralize collection names
Diffstat (limited to 'src/content/en/pastebin/2016/04/05/rpn.adoc')
-rw-r--r--src/content/en/pastebin/2016/04/05/rpn.adoc23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/content/en/pastebin/2016/04/05/rpn.adoc b/src/content/en/pastebin/2016/04/05/rpn.adoc
new file mode 100644
index 0000000..c567d0d
--- /dev/null
+++ b/src/content/en/pastebin/2016/04/05/rpn.adoc
@@ -0,0 +1,23 @@
+= RPN macro setup
+
+[source,lisp]
+----
+(defmacro rpn (body)
+ (rpn-expander body))
+
+(defun rpn-expander (body)
+ (mapcar (lambda (x)
+ (if (listp x)
+ (rpn-expander x)
+ x))
+ (reverse body)))
+
+(rpn ((2 1 +) 2 *))
+; => 6
+
+#|
+Just a quick stub.
+
+One could easily improve #'RPN-EXPANDER in order to better suit one's needs.
+|#
+----