diff options
-rw-r--r-- | factorial.mu | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/factorial.mu b/factorial.mu new file mode 100644 index 00000000..25ab1eba --- /dev/null +++ b/factorial.mu @@ -0,0 +1,15 @@ +(factorial + ((default-scope scope-address) <- new (scope literal) (30 literal)) + ((n integer) <- arg) + { begin + ((zero? boolean) <- eq (n integer) (0 literal)) + (break-unless (zero? boolean)) + (reply (1 literal)) + } + ((x integer) <- sub (n integer) (1 literal)) + ((subresult integer) <- factorial (x integer)) + ((result integer) <- mul (subresult integer) (n integer)) + (reply (result integer))) + +(main + ((1 integer) <- factorial (5 literal))) |