about summary refs log tree commit diff stats
path: root/config.def.h
diff options
context:
space:
mode:
Diffstat (limited to 'config.def.h')
0 files changed, 0 insertions, 0 deletions
8 - cleanup odds and ends' href='/akkartik/mu/commit/factorial.mu?h=main&id=d4b4d018c76409a96b82bee1e81c735648e57918'>d4b4d018 ^
08b48a8d ^
4c97ba91 ^
d4b4d018 ^



cb9e66d7 ^
08b48a8d ^
0ca35d02 ^
d4b4d018 ^



cb9e66d7 ^
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
                     

                                                               
         
                     


                                                
   
                           



                                                          
  
 
                



                                          
  
(function factorial [
  (default-scope:scope-address <- new scope:literal 30:literal)
  (n:integer <- next-input)
  { begin
    ; if n=0 return 1
    (zero?:boolean <- equal n:integer 0:literal)
    (break-unless zero?:boolean)
    (reply 1:literal)
  }
  ; 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-primitive (("result: " literal)))
  (print-primitive 1:integer)
  (print-primitive (("\n" literal)))
])