Все-таки оставили:
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
(
Read more... )
Comments 2
А второе - это не "хорошо хоть", а ещё большее "буэээ". Это именно то, что меня так раздражает в Scala: документация порой нагло врёт, и нужно предпринимать дополнительные действия, чтобы выяснить настоящий тип того или иного значения.
Reply
type * = TYPE PtrRepLifted
Зачем тащить весть этот полиморфизм по RuntimeRep эти расширения в уютненький lifted мир? (Я знаю, что они говорят про то, что MagicHash не меняет семантику, но тем не менее он по факту изолирует один мир от другого.)
Reply
Leave a comment