2009-11-01から1ヶ月間の記事一覧

ch04::RealWorldHaskell(1)

(p.88)ex.4-1 失敗する時はNothingを返せば良さそう。 -- ex.4-1 safeHead :: [a] -> Maybe a safeHead xs | null xs = Nothing | otherwise = Just (head xs) safeTail :: [a] -> Maybe [a] safeTail xs | null xs = Nothing | otherwise = Just (tail xs) …

ch03::RealWorldHaskell(2)

11/3の続き。正解を探したけど見つからなかったので本当に正しいかどうかは不明。 ex.3-9 data Direction = RTurn -- 右回り | LTurn -- 左回り | Line -- 一直線 deriving (Eq, Show) ex.3-10 3点a,b,cとした時、ベクトルbaから見てベクトルbcが時計回り(RT…

ch03::RealWorldHaskell(1)

ch03の演習問題を解いてみた。なんだかlisp/schemeっぽい。(p.62)ex.3-1 -- 前提 data List a = Cons a (List a) | Nil deriving (Show) -- 参考 fromList (x:xs) = Cons x (fromList xs) fromList [] = Nil -- ex.3-1 toList :: List a -> [a] toList (Cons…

ch02::RealWorldHaskell

(p.27)ex.2-1 :setコマンドで型表示させて式を評価。 Prelude> :set +t Prelude> False False it :: Bool Prelude> (["foo", "bar"], 'a') (["foo", "bar"], 'a') it :: ([[Char]], Char) Prelude> [(True, []), (False, [['a']])] [(True,[]), (False, [['a…