関数型プログラミング言語Haskell Part16
■ このスレッドは過去ログ倉庫に格納されています
0377デフォルトの名無しさん
2011/11/06(日) 02:49:06.58Haskel Reportを読んでもはっきりと書かれていないような。
以下のように関数(>>?)を定義してvalue1, value2を求めると
value1は普通に求められるが、value2は\s -> s + aのところで
aが未定義ですとか言われる。
括弧があると変数の有効範囲が変わるのかな?
(>>?) :: a -> (a -> b) -> b
v >>? f = f v
value1 = (1, 2) >>? \(a, b) -> b >>? \s -> s + a
value2 = (1, 2) >>? (\(a, b) -> b) >>? \s -> s + a
■ このスレッドは過去ログ倉庫に格納されています