diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-01-01 17:04:37 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-01-01 17:04:37 -0800 |
commit | 2a4088119cf41175457414dfa59bd4064b8f0562 (patch) | |
tree | 64fe184e399f9870ebd481a90eec34d51e5dff68 /archive/1.vm.arc/tangle.mu | |
parent | 23fd294d85959c6b476bcdc35ed6ad508cc99b8f (diff) | |
download | mu-2a4088119cf41175457414dfa59bd4064b8f0562.tar.gz |
5852
Diffstat (limited to 'archive/1.vm.arc/tangle.mu')
-rw-r--r-- | archive/1.vm.arc/tangle.mu | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/archive/1.vm.arc/tangle.mu b/archive/1.vm.arc/tangle.mu deleted file mode 100644 index 3e73dd89..00000000 --- a/archive/1.vm.arc/tangle.mu +++ /dev/null @@ -1,35 +0,0 @@ -; To demonstrate tangle directives, we'll construct a factorial function with -; separate base and recursive cases. Compare factorial.mu. -; This isn't a very realistic example, just a simple demonstration of -; possibilities. - -(function factorial [ - (default-space:space-address <- new space:literal 30:literal) - (n:integer <- next-input) - { begin - base-case - } - recursive-case -]) - -(after base-case [ - ; if n=0 return 1 - (zero?:boolean <- equal n:integer 0:literal) - (break-unless zero?:boolean) - (reply 1:literal) -]) - -(after recursive-case [ - ; return n*factorial(n-1) - (x:integer <- subtract n:integer 1:literal) - (subresult:integer <- factorial x:integer) - (result:integer <- multiply subresult:integer n:integer) - (reply result:integer) -]) - -(function main [ - (1:integer <- factorial 5:literal) - ($print (("result: " literal))) - (print-integer nil:literal/terminal 1:integer) - (print-character nil:literal/terminal ((#\newline literal))) -]) |