Lispの象徴的な特徴「S式(Symbolic expression)」をPythonで表現してみた。
(define (fact n)
(if (= n 0)
1
(* (fact (- n 1)) n))))
普通に書くと
def fact(n):
if n == 0:
return 1
return n * fact(n-1)
Python (Symbolic expression)
もしPythonがS式だったら(注:実行しても動きません(´・ω・`))
[def, [fact,n],
[if, [n, ==, 0],
[return, [1]],
[return, [n, *, fact, [n, -, 1]]]]]
こんな感じ?