File: rocket.tex

package info (click to toggle)
texlive-extra 2018.20190227-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 3,308,212 kB
  • sloc: perl: 205,263; cs: 24,503; python: 21,587; java: 17,308; makefile: 14,921; ansic: 12,477; sh: 12,401; xml: 5,150; lisp: 1,708; csh: 1,129; ruby: 938; awk: 163; tcl: 142; cpp: 41; sed: 36; pascal: 25; haskell: 5
file content (26 lines) | stat: -rw-r--r-- 641 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
\documentclass{article}
\usepackage{lisp-on-tex}
\lispinterp{%
%rocket body
(\define \rocket
  (\letM ((\count :11))
    (\lambda ()
      (\begin
        (\setB \count (\- \count :1))
        (\lispif (\< \count :0)
          (\texprint '{\small fired...}\\')
          (\lispif (\= \count :0)
            (\texprint '{\Large FIRE!}\\')
            (\texprint (\concat 'count ' (\intTOstring \count) '...\\'))))))))
(\define \MAX :15)
%LOOP function
(\define \loop
  (\lambda (\n)
    (\lispif (\= \n \MAX)
      ()
      (\begin (\rocket) (\loop (\+ \n :1))))))
}
\begin{document}
\noindent\lispinterp{(\loop :0)}
Test done.
\end{document}