module DefinedNamesBase(module DefinedNames) where -- all instances are exported anyway... import Syntax(HsDeclI,HsTypeI,HsPatI) import DefinedNames import DefinedNamesBaseStruct() {-+ This module contains just the knot tying definitions for the base syntax. The reusable instances for the base structure are located in DefinedNamesBaseStruct. -} instance DefinedNames i (HsDeclI i) where definedNames = definedNamesRec instance ClassMethods i (HsDeclI i) where classMethods = classMethodsRec instance MapDefinedNames i (HsDeclI i) where mapDefinedNames= mapDefinedNamesRec instance DefinedNames i (HsPatI i) where definedNames = definedNamesRec instance MapDefinedNames i (HsPatI i) where mapDefinedNames= mapDefinedNamesRec -- Only for type patterns: instance DefinedNames i (HsTypeI i) where definedNames = definedNamesRec instance AddName i (HsDeclI i) where addName = addNameRec instance ContextSize [a] where contextSize = length