L-99をCyanで その5
L-99: Ninety-Nine Lisp Problemsより。
P05
# named let def(List.reverse1)^: let(loop)^(&opt lst = self, acc): if(lst.null?()): acc else: loop(lst.cdr(), [lst.car() | acc]) # optional argument def(List.reverse2)^(&opt acc): if(.null?()): acc else: .cdr().reverse2([.car() | acc]) # foldl def(List.reverse3)^: .foldl([])^(x, y): [y | x]