タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

maybeに関するsiroccoのブックマーク (2)

  • はてなブログ | 無料ブログを作成しよう

    プロジェクトマネジメントで娘の夏休みの宿題炎上を防止しました 娘の夏休みの宿題プロジェクト炎上 8歳9歳の娘が朝から泣きわめいていたので、何ごとかと思い話を聞いてみました。泣きじゃくっていたので要領を得なかったのですが、まとめると以下みたいでした。 「宿題やったのに、ママがテレビを見せてくれない。自分は頑張った…

    はてなブログ | 無料ブログを作成しよう
  • Maybe モナドの秘密 - あどけない話

    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

    Maybe モナドの秘密 - あどけない話
    sirocco
    sirocco 2011/04/22
    (>>=) によるMaybe の結合は GHC のコンパイルオプションにより最適化される -O2 オプションを指定すると、コード2と3の両方をコード1へ最適化します。その様子は、ghc -c -ddump-simpl で確認できる。
  • 1