Minilisp.pm/t/function.t

24 lines
544 B
Raku

(plan 6)
(defun inc (a) (+ a 1))
(expect "inc 5 == 6" (eq (inc 5) 6))
(expect "inc 6 == 7" (eq (inc 6) 7))
(defun range (start end)
(if (>= start end)
'()
(cons start (range (+ start 1) end))))
(expect "range" (equal (range 1 10) '(1 2 3 4 5 6 7 8 9)))
(let ((a 'top))
(defun test (a) a)
(expect "function parameters do not alter context through declaration"
(equal a 'top))
(expect "parameters shadow outer bindings"
(equal (test 'param) 'param)))
(expect "inc"
(equal (apply + '(7 5)) 12))