http://deni-ok.livejournal.com/ ([identity profile] deni-ok.livejournal.com) wrote in [personal profile] deniok 2015-10-01 08:18 am (UTC)

Почему не знаем. Знаем.
Prelude> let f = \True -> \y -> ()
Prelude> f False `seq` 5
5

Если мы используем lambda abstraction, то для трансляции используется
\ p1 ... pn -> e = \ x1 ... xn -> case (x1, ... , xn) of (p1, ... , pn) -> e
из раздела 3.3 Haskell Report. А если function binding, то
x = \ x1 ... xk -> case (x1, ... , xk) of (p11, ... , p1k) match1
                                          ...
                                          (pn1, ... , pnk) matchn
из раздела 4.4.3.1.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting