1-- | 2-- Metadata annotations for core functional representation 3-- 4module Language.PureScript.CoreFn.Meta where 5 6import Prelude.Compat 7 8import Language.PureScript.Names 9 10-- | 11-- Metadata annotations 12-- 13data Meta 14 -- | 15 -- The contained value is a data constructor 16 -- 17 = IsConstructor ConstructorType [Ident] 18 -- | 19 -- The contained value is a newtype 20 -- 21 | IsNewtype 22 -- | 23 -- The contained value is a typeclass dictionary constructor 24 -- 25 | IsTypeClassConstructor 26 -- | 27 -- The contained reference is for a foreign member 28 -- 29 | IsForeign 30 -- | 31 -- The contained value is a where clause 32 -- 33 | IsWhere 34 deriving (Show, Eq, Ord) 35 36-- | 37-- Data constructor metadata 38-- 39data ConstructorType 40 -- | 41 -- The constructor is for a type with a single constructor 42 -- 43 = ProductType 44 -- | 45 -- The constructor is for a type with multiple constructors 46 -- 47 | SumType deriving (Show, Eq, Ord) 48