deniok: (typed lambda)
deniok ([personal profile] deniok) wrote2015-10-01 12:29 am

Про seq

Как известно seq вычисляет свой первый аргумент до слабой заголовочной нормальной формы (WHNF). Не пользуясь GHCi, ответьте на вопрос, каково будет значение следующего выражения
Prelude> (\True y -> ()) False `seq` 5
Проверьте себя в GHCi. Какова будет полученная в первом аргументе seq WHNF?

UPD. А теперь вопрос на засыпку: каково будет значение следующего выражения
Prelude> (\True -> \y -> ()) False `seq` 5
Считаете ли вы это правильным?

[identity profile] deni-ok.livejournal.com 2015-10-02 05:46 pm (UTC)(link)
И функции так же транслируются. То есть можно считать все функции - примитивные лямбды заданной арности, а сопоставление с образцом откладывается до момента полной аппликации.