(* ocaml, ml *)
let rec fact = fun num ->
match num with
| 1 -> 1
| _ -> n * (fact (num - 1));;

# merd
fact :=
0 -> 1
n -> n * fact(n-1)

; scheme
(define (fact n)
(cond ((> n 1) (* n (fact (- n 1)))) (else 1)))
(fact 10)

-- haskell
fact 0 = 1
fact n = n * fact (n - 1)

\ forth
: fact dup 1 > if dup 1 - recurse * else drop 1 then ;
10 fact .

# python
fact = lambda x: (x < 1) and 1 or (x * fact(x-1))

REBOL[]
fact: func [num [number!]][ if/else num < 1 [1][num * fact (num - 1)] ]

飽きてきた。後は whitespace,インデントは脳内補完よろ。