graph-rewriting-0.5.1: GraphRewriting/Pattern/Internal.hs
{-# LANGUAGE UnicodeSyntax #-}
module GraphRewriting.Pattern.Internal where
import GraphRewriting.Graph.Types
import Control.Monad.Reader
-- | A pattern represents a graph scrutinisation that memorises all the scrutinised nodes during matching.
newtype Pattern n a = Pattern {pattern ∷ Match → ReaderT (Graph n) [] (Match, a)}
-- | Nodes matched in the evaluation of a pattern with the lastly matched node at the head
type Match = [Node]