{-# LANGUAGE GADTs #-} {-# LANGUAGE KindSignatures #-} -------------------------------------------------------------------------------- -- | -- Module : HarmTrace.Models.Models -- Copyright : (c) 2010-2012 Universiteit Utrecht, 2012 University of Oxford -- License : GPL3 -- -- Maintainer : bash@cs.uu.nl, jpm@cs.ox.ac.uk -- Stability : experimental -- Portability : non-portable -- -- Summary: All the models -------------------------------------------------------------------------------- module HarmTrace.Models.Models where import HarmTrace.Models.Jazz.Model as J hiding (PD, PT) import HarmTrace.Models.Pop.Model as P hiding (PD, PT) import HarmTrace.HAnTree.ToHAnTree data Grammar :: * -> * where Jazz :: Grammar J.Piece Pop :: Grammar P.Piece data GrammarEx where GrammarEx :: (GTree g) => Grammar g -> GrammarEx instance Show GrammarEx where show (GrammarEx Jazz) = "JazzGrammar" show (GrammarEx Pop ) = "PopGrammar" instance Eq GrammarEx where (GrammarEx Jazz) == (GrammarEx Jazz) = True (GrammarEx Pop ) == (GrammarEx Pop ) = True _ == _ = False