Real World Haskell 読書会での Maybe モナドに関する議論をまとめておきます。 case と Maybe モナドの導入には、必ずといっていいほど、Maybe が使われます。たとえば、子供をキーとして検索すると、父親を得られる DB があるとします。 type DB = [(String,String)] db :: DB db = [ ("Bob","Dave") , ("Dave","Steve") , ("Steve","Tony") ] コードを簡潔にするために、DB を検索するための補助関数を導入します。 lookup' :: DB -> String -> Maybe String lookup' = flip lookup これらと case を使って、ひいおじいさんを探すコードを書くとこうなります。 -- コード1 findGGFather :: Str

