Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: v 16. 07. 2018, 19:39:00
-
{-# LANGUAGE GADTs #-}
import Data.Typeable
data E a where
I :: Int -> E Int
B :: Bool -> E Bool
-- typeOf :: forall a. Typeable a => a -> TypeRep
main = print $ typeOf $ I 0
umí někdo vysvětlit proč tenhle kód funguje? resp. jakto, že E je (asi/zjevně?) Typeable
-
takže ghc generuje instance Typeable pro všechny typy, derived ignoruje a uživatelem definované prý dokonce odmítá