花谷 陽一 hanatani@mbg.nifty.com Haskellでどう書く お題: ls-lR Shell 処理全体の流れ デザインパターンで捉える Haskell のコード State パターン Strategy パターン Composite パターン Bridge パターン Facade パターン Template Method パターン Interpreter パターン Maybe Monad 概要 処理の流れ main :: IO () main = getArgs >>= flip openFile ReadMode . head >>= hGetContents >>= repl . (:[]) . makeDirectoryTree repl :: [DTree] -> IO () repl trees = do putStr "ls-lR> " hFlush st