{-# OPTIONS_GHC -Wno-orphans #-} module Language.Haskell.Exts.Observe where import Data.Ratio import Debug.Hoed.Pure hiding (Module) import Language.Haskell.Exts instance Observable Boxed instance Observable a => Observable (Alt a) instance Observable a => Observable (Rhs a) instance Observable a => Observable (Asst a) instance Observable a => Observable (Context a) instance Observable a => Observable (ClassDecl a) instance Observable a => Observable (Assoc a) instance Observable a => Observable (Decl a) instance Observable a => Observable (Role a) instance Observable a => Observable (BooleanFormula a) instance Observable a => Observable (Annotation a) instance Observable a => Observable (Rule a) instance Observable a => Observable (RuleVar a) instance Observable a => Observable (Activation a) instance Observable a => Observable (Safety a) instance Observable a => Observable (CallConv a) instance Observable a => Observable (PatternSynDirection a) instance Observable a => Observable (Match a) instance Observable a => Observable (Op a) instance Observable a => Observable (InstDecl a) instance Observable a => Observable (InstHead a) instance Observable a => Observable (InstRule a) instance Observable a => Observable (Overlap a) instance Observable a => Observable (FunDep a) instance Observable a => Observable (FieldDecl a) instance Observable a => Observable (GadtDecl a) instance Observable a => Observable (Deriving a) instance Observable a => Observable (ConDecl a) instance Observable a => Observable (QualConDecl a) instance Observable a => Observable (DataOrNew a) instance Observable a => Observable (TypeEqn a) instance Observable a => Observable (InjectivityInfo a) instance Observable a => Observable (ResultSig a) instance Observable a => Observable (DeclHead a) instance Observable a => Observable (Binds a) instance Observable a => Observable (Exp a) instance Observable a => Observable (XAttr a) instance Observable a => Observable (Bracket a) instance Observable a => Observable (QualStmt a) instance Observable a => Observable (FieldUpdate a) instance Observable a => Observable (GuardedRhs a) instance Observable a => Observable (IPBind a) instance Observable a => Observable (IPName a) instance Observable a => Observable (Kind a) instance Observable a => Observable (Stmt a) instance Observable a => Observable (Literal a) instance Observable a => Observable (ModuleName a) instance Observable a => Observable (Name a) instance Observable a => Observable (XName a) instance Observable a => Observable (PXAttr a) instance Observable a => Observable (Pat a) instance Observable a => Observable (RPat a) instance Observable a => Observable (RPatOp a) instance Observable a => Observable (PatField a) instance Observable a => Observable (Promoted a) instance Observable a => Observable (QName a) instance Observable a => Observable (QOp a) instance Observable a => Observable (Sign a) instance Observable a => Observable (SpecialCon a) instance Observable a => Observable (Splice a) instance Observable a => Observable (TyVarBind a) instance Observable a => Observable (Type a) instance Observable a => Observable (Unpackedness a) instance Observable a => Observable (BangType a) instance Observable a => Observable (Module a) instance Observable a => Observable (ModuleHead a) instance Observable a => Observable (WarningText a) instance Observable a => Observable (ModulePragma a) instance Observable a => Observable (ImportDecl a) instance Observable a => Observable (ImportSpec a) instance Observable a => Observable (Namespace a) instance Observable a => Observable (ImportSpecList a) instance Observable a => Observable (ExportSpecList a) instance Observable a => Observable (EWildcard a) instance Observable a => Observable (CName a) instance Observable a => Observable (ExportSpec a) instance Observable Tool -- These instances belong in Hoed instance (Eq a, Show a) => Observable (Ratio a) where observer = observeBase constrain = constrainBase