packages feed

HaRe-0.6: tools/base/defs/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