関数型プログラミング言語Haskell Part8 at TECH
[2ch|▼Menu]
74:デフォルトの名無しさん
07/11/10 01:57:22
>>71のをArrowで書けばこんな感じ

mapA :: ArrowChoice a => a b c -> a [b] [c]
mapA f = arr listcase >>>
arr (const []) ||| (f *** mapA f >>> arr (uncurry (:)))
where
listcase [] = Left ()
listcase (x:xs) = Right (x,xs)

main :: IO ()
main = runKleisli (Kleisli (const getArgs) >>> mapA (Kleisli readFile) >>> arr concat >>> Kleisli putStr) ()

-- mapAみたいに便利な関数は早く標準ライブラリに入れてほしい


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5324日前に更新/201 KB
担当:undef