From dcf52a44f8341b512b18265b3a308d10370ee4ff Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sat, 24 Sep 2022 16:25:07 +0300 Subject: Fix match --- examples/test.lisp | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'examples') diff --git a/examples/test.lisp b/examples/test.lisp index 3b9fa5e..9930181 100644 --- a/examples/test.lisp +++ b/examples/test.lisp @@ -1,15 +1,34 @@ ;; (let map (\[f lst] ;; (match lst ;; [] [] -;; (prepend (f head lst) (map f (tail lst)))))) +;; (prepend (f (head lst)) (map f (tail lst)))))) ;; (map (+ 1) [1 2 3]) -(let mapinc (\[vec] - (match vec - [] [] - (prepend - (+ 1 (head vec)) - (mapinc (tail vec)))))) -(env) -(mapinc [1 2 3]) +;; (let mapinc (\[vec] +;; (match vec +;; [] [] +;; (prepend +;; (+ 1 (head vec)) +;; (mapinc (tail vec)))))) +;; (env) +;; (mapinc [1 2 3]) + +;; (let fibo (\[n] +;; ;; (let fibo-1 (\[] (fibo (sub2 n 1)))) +;; ;; (let fibo-2 (\[] (fibo (sub2 n 2)))) +;; (match n +;; 0 0 +;; 1 1 +;; (+ +;; (fibo (- n 1)) +;; (fibo (- n 2)))))) + +;; (fibo 10) + +(let foldr (\[f accumulator lst] + (match lst + [] accumulator + (f (foldr f accumulator (tail lst)) (head lst))))) + +(foldr + 0 [1 2 3]) -- cgit v1.3