MapDeclMPropStruct.hs

module MapDeclMPropStruct where

import MapDeclM
import HsPropStruct
import HsPropMaps

-- we assume only "expressions" & "declarations" may contain declarations
instance (MapDeclM pa ds,MapDeclM pp ds) => MapDeclM (PD i pa pp) ds where
    mapDeclM f = seqPD . mapPD return m m
      where m x = mapDeclM f x

instance (MapDeclM e ds,MapDeclM pa ds,MapDeclM pp ds)
       => MapDeclM (PA i e t pa pp) ds where
    mapDeclM f = seqPA . mapPA return m return m m
      where m x = mapDeclM f x

instance (MapDeclM e ds,MapDeclM pa ds,MapDeclM pp ds)
       => MapDeclM (PP i e p t pa pp) ds where
    mapDeclM f = seqPP . mapPP return m return return m m
      where m x = mapDeclM f x

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