22. SICP
(define (fact n)
(if (= n 1)
1
(* (fact (- n 1)) n)))
(define (fact2 n)
(define (in-fact n ans)
(if (= n 1)
ans
(in-fact (- n 1) (* ans n))))
(in-fact n 1))
(define (fact3 n)
(define (fact2-iter n ans)
(if (= n 0)
ans
(fact2-iter (- n 1) (* n ans))))
(fact2-iter n 1))
(print (fact3 12000))
36. ■Blocks
Apple C ISO
LLVM iOS4.0
LLVM Compiler 2.0
LLVM
LLVM 2.0
C Objective-C C++
LLVM GCC 2
Xcode 4 LLVM IDE
LLVM
Xcode IDE C C++ Objective-C
block lambda