0xd34df00d 19.10.2011 16:40 Azoth_primary

Оказывается:
> :t (\x → (x *** x)) undefined
(\x → (x *** x)) undefined :: Arrow a => a (b', b') (c', c')
В то же время:
> let x = undefined
> :t (x *** x)
(x *** x) :: Arrow a => a (b, b') (c, c')

Нахуй так жить?

1. ulidtko 19.10.2011 16:42 dedicated microblogging account

хмм. Может, лямбда-биндинги обязательно мономорфны, а let-биндинги нет?..

2. 0xd34df00dulidtko /1 19.10.2011 16:42 Azoth_primary

Неинтуитивная хуита.

Do you really want to delete ?