関数型言語Part IVat TECH
関数型言語Part IV - 暇つぶし2ch187:デフォルトの名無しさん
04/08/11 15:00
Haskell ならモナドでやるよ、ってことで >>182 を書いたんだけどな……。
>>= は演算子で、 Monad a => a b -> (b -> a c) -> a c の型を持つ。ちょっ
とわかりづらいけど、初期の値を順に関数に通して結果を得るための演算子だ
と考えてくれていい。

他にも、関数のリストを作って畳み込むことで結果を得るという考え方もある
と思う。ステートが違うだけで同じ型の変数であると考えれば、
風呂 = foldl apply 空風呂 [ 水を入れる, 点火, 火を止める ]
where apply :: a -> (a -> b) -> b
apply x f = f x
とかね。

もちろん、 Haskell にも do ~ のような述語があるし、
ML 系にも begin ~ end が(たしか)あるから、手続的に書こうと思えば割と
簡単に書けるよ。


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