module Hydra.Dsl.Graph where import Hydra.Kernel import Hydra.Dsl.Base as Base import qualified Data.Map as M graph :: Datum (M.Map Name Element) -> Datum (M.Map Name (Maybe Term)) -> Datum (M.Map Name Type) -> Datum Term -> Datum (M.Map Name Primitive) -> Datum (Maybe Graph) -> Datum Graph graph :: Datum (Map Name Element) -> Datum (Map Name (Maybe Term)) -> Datum (Map Name Type) -> Datum Term -> Datum (Map Name Primitive) -> Datum (Maybe Graph) -> Datum Graph graph Datum (Map Name Element) elements Datum (Map Name (Maybe Term)) environment Datum (Map Name Type) types Datum Term body Datum (Map Name Primitive) primitives Datum (Maybe Graph) schema = Name -> [Field] -> Datum Graph forall a. Name -> [Field] -> Datum a record Name _Graph [ Name _Graph_elementsName -> Datum (Map Name Element) -> Field forall a. Name -> Datum a -> Field >>: Datum (Map Name Element) elements, Name _Graph_environmentName -> Datum (Map Name (Maybe Term)) -> Field forall a. Name -> Datum a -> Field >>: Datum (Map Name (Maybe Term)) environment, Name _Graph_typesName -> Datum (Map Name Type) -> Field forall a. Name -> Datum a -> Field >>: Datum (Map Name Type) types, Name _Graph_bodyName -> Datum Term -> Field forall a. Name -> Datum a -> Field >>: Datum Term body, Name _Graph_primitivesName -> Datum (Map Name Primitive) -> Field forall a. Name -> Datum a -> Field >>: Datum (Map Name Primitive) primitives, Name _Graph_schemaName -> Datum (Maybe Graph) -> Field forall a. Name -> Datum a -> Field >>: Datum (Maybe Graph) schema] graphElements :: Datum (Graph -> M.Map Name Element) graphElements :: Datum (Graph -> Map Name Element) graphElements = Name -> Name -> Datum (Graph -> Map Name Element) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_elements graphEnvironment :: Datum (Graph -> M.Map Name (Maybe Term)) graphEnvironment :: Datum (Graph -> Map Name (Maybe Term)) graphEnvironment = Name -> Name -> Datum (Graph -> Map Name (Maybe Term)) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_environment graphTypes :: Datum (Graph -> M.Map Name Type) graphTypes :: Datum (Graph -> Map Name Type) graphTypes = Name -> Name -> Datum (Graph -> Map Name Type) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_types graphBody :: Datum (Graph -> Term) graphBody :: Datum (Graph -> Term) graphBody = Name -> Name -> Datum (Graph -> Term) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_body graphPrimitives :: Datum (Graph -> M.Map Name Primitive) graphPrimitives :: Datum (Graph -> Map Name Primitive) graphPrimitives = Name -> Name -> Datum (Graph -> Map Name Primitive) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_primitives graphSchema :: Datum (Graph -> Maybe Graph) graphSchema :: Datum (Graph -> Maybe Graph) graphSchema = Name -> Name -> Datum (Graph -> Maybe Graph) forall a b. Name -> Name -> Datum (a -> b) project Name _Graph Name _Graph_schema