関数型言語Part IV
..
187:デフォルトの名無しさん
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 が(たしか)あるから、手続的に書こうと思えば割と
簡単に書けるよ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5505日前に更新/172 KB
担当:undef