diff options
author | EuAndreh <eu@euandre.org> | 2024-11-18 08:21:58 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2024-11-18 08:44:57 -0300 |
commit | 960e4410f76801356ebd42801c914b2910a302a7 (patch) | |
tree | 615d379416f72956d0c1666c63ce062859041fbe /src/content/pastebins/2016/04/05/rpn.adoc | |
parent | Remove jekyll infrastructure setup (diff) | |
download | euandre.org-main.tar.gz euandre.org-main.tar.xz |
Diffstat (limited to 'src/content/pastebins/2016/04/05/rpn.adoc')
-rw-r--r-- | src/content/pastebins/2016/04/05/rpn.adoc | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/content/pastebins/2016/04/05/rpn.adoc b/src/content/pastebins/2016/04/05/rpn.adoc new file mode 100644 index 0000000..25ca6ba --- /dev/null +++ b/src/content/pastebins/2016/04/05/rpn.adoc @@ -0,0 +1,34 @@ +--- + +title: RPN macro setup + +date: 2016-04-05 + +layout: post + +lang: en + +ref: rpn-macro-setup + +--- + +```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. +|# +``` |