練習
foldlをどう書いたっけな
list1 = fromhsl [ 1,2,3,4] val = listfoldr (-) 0 list1 main = putStrLn (show val) data List a = Nil | Cons a (List a) fromhsl [] = Nil fromhsl (x:xs) = Cons x (fromhsl xs) tohsl Nil = [] tohsl (Cons x xs) = x : (tohsl xs) llen (Nil) = 0 llen (Cons x xs) = 1 + llen xs listhead (Cons x xs) = x listtail (Cons x Nil) = x listtail (Cons x xs) = listtail xs listfoldr f z (Nil) = z listfoldr f z (Cons x xs) = f x (listfoldr f z xs)