8 module Data.HList.Graph
21 import Data.HList.Prelude
26 instance NodeSet ns => NodeSet (Cons n ns)
29 class NoDuplicates ids => NodeIDSet ids
30 instance NodeIDSet Nil
31 instance (OccursNot id ids, NodeIDSet ids) => NodeIDSet (Cons id ids)
33 -- LPath (list of labeled node IDs)
36 instance LPath p => LPath (Cons (Cons l id) p)
39 class NodeIDSet (LinksFrom n) => Node n
46 instance ApplyT NodeIDA n where
47 type Apply NodeIDA n = NodeID n
50 class ( NodeSet (Nodes g)
51 , NoDuplicates (Map NodeIDA g)