サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
新内閣発足
www.lab2.kuis.kyoto-u.ac.jp/~hanatani
花谷 陽一 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
_ 図にしてみると高階関数の見通しがよくなるかなあ。mapAccumLはmapする間を小人が駆け抜ける。foldr, mapAccumRは小人が走る方向が反対なだけ。foldlとfoldl1は初期値をどうするかの違い。scanlとmapAccumLは残したいリストと小人が持ち運ぶ値が同じでいいかどうかの違い。この絵が頭に浮かんでmapAccumLが本当に理解できたような気がした。
本文書は次に掲げる URL で示される文書の部分的な邦訳です。 http://www.cs.uu.nl/people/daan/download/parsec/parsec.html Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@cs.uu.nl, http://www.cs.uu.nl/~daan Parsec, 高速なコンビネータパーサ Daan Leijen University of Utrecht Dept. of Computer Science PO.Box 80.089, 3508 TB Utrecht The Netherlands daan@
このページを最初にブックマークしてみませんか?
『www.lab2.kuis.kyoto-u.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く