Кишки наружу
Jun. 18th, 2016 12:17 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Все-таки оставили:
GHCi> :i ($) ($) :: forall (r :: GHC.Types.RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b -- Defined in `GHC.Base' infixr 0 $ GHCi> :i undefined undefined :: forall (r :: GHC.Types.RuntimeRep) (a :: TYPE r). GHC.Stack.Types.HasCallStack => a -- Defined in `GHC.Err'Хорошо хоть
> :t ($) ($) :: (a -> b) -> a -> b > :t undefined undefined :: a
no subject
Date: 2016-06-17 09:27 pm (UTC)А второе — это не "хорошо хоть", а ещё большее "буэээ". Это именно то, что меня так раздражает в Scala: документация порой нагло врёт, и нужно предпринимать дополнительные действия, чтобы выяснить настоящий тип того или иного значения.
no subject
Date: 2016-06-17 10:47 pm (UTC)Зачем тащить весть этот полиморфизм по RuntimeRep эти расширения в уютненький lifted мир? (Я знаю, что они говорят про то, что MagicHash не меняет семантику, но тем не менее он по факту изолирует один мир от другого.)