summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lisp-on-tex/examples/div2.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/lisp-on-tex/examples/div2.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/lisp-on-tex/examples/div2.tex')
-rw-r--r--macros/latex/contrib/lisp-on-tex/examples/div2.tex30
1 files changed, 30 insertions, 0 deletions
diff --git a/macros/latex/contrib/lisp-on-tex/examples/div2.tex b/macros/latex/contrib/lisp-on-tex/examples/div2.tex
new file mode 100644
index 0000000000..ae2cf824ee
--- /dev/null
+++ b/macros/latex/contrib/lisp-on-tex/examples/div2.tex
@@ -0,0 +1,30 @@
+\documentclass{article}
+%\usepackage{lisp-on-tex}
+\usepackage[markGC]{lisp-on-tex}
+\lispinterp {
+ (\define (\create \n) (\createAcc \n ()))
+ (\define (\createAcc \n \acc)
+ (\lispif (\= \n :0) \acc (\createAcc (\- \n :1) (\cons () \acc))))
+ (\define \ll (\create :200))
+ (\define (\divII \l)
+ (\lispif (\= \l ()) () (\cons (\car \l) (\divII (\cdr (\cdr \l))))))
+ (\define (\test \l) (\testAcc \l :500)) % original is 300
+ (\define (\testAcc \l \i)
+ (\lispif (\= \i :0) ()
+ (\begin
+ (\lispif (\= (\length (\divII \l)) :100)
+ () (\texprint 'Hmm'))
+ (\lispif (\= (\length (\divII \l)) :100)
+ () (\message 'Hmm'))
+ (\lispif (\= (\length (\divII \l)) :100)
+ () (\message 'Hmm'))
+ (\lispif (\= (\length (\divII \l)) :100)
+ () (\message 'Hmm'))
+ (\texprint \i)
+ (\texprint ' ')
+ (\testAcc \l (\- \i :1)))))
+}
+
+\begin{document}
+ \lispinterp{(\test \ll)}
+\end{document} \ No newline at end of file