module ReAssocBase(module ReAssocBase,module ReAssoc) where import Syntax(HsExpI,HsPatI,HsDeclI,HsIdentI(..)) import ReAssoc import ReAssocBaseStruct() import DefinedNamesBase() import Recursive import HasBaseStruct(hsInfixApp,hsPInfixApp) {- Knot-tying definitions for the base syntax -} instance Eq i => ReAssoc i (HsExpI i) where reAssoc = reAssocRec instance Eq i => ReAssoc i (HsPatI i) where reAssoc = reAssocRec instance Eq i => ReAssoc i (HsDeclI i) where reAssoc = reAssocRec instance HasInfixDecls i (HsDeclI i) where getInfixDecls = getInfixDeclsRec instance HasInfixApp i (HsExpI i) (HsExpI i) where infixApp = hsInfixApp isInfixApp = isInfixApp . struct instance HasInfixApp i (HsPatI i) (HsPatI i) where infixApp p1 (HsCon c) p2 = hsPInfixApp p1 c p2 isInfixApp = isInfixApp . struct