DefinedNamesBase.hs

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

Plain-text version of DefinedNamesBase.hs | Valid HTML?