module MapstateMsg(mapLow, mapHigh, mapstateLow, mapstateHigh) where import Message(Message(..)) --import SP(SP) import Spops import HbcUtils(apSnd) mapstateHigh p s = let ms s' (Low msg) = (s', [Low msg]) ms s' (High msg) = apSnd (map High) (p s' msg) in mapstateSP ms s mapstateLow p s = let ms s' (High msg) = (s', [High msg]) ms s' (Low msg) = apSnd (map Low) (p s' msg) in mapstateSP ms s mapHigh p = let ms (High msg) = map High (p msg) ms (Low msg) = [Low msg] in concmapSP ms mapLow p = let ms (Low msg) = map Low (p msg) ms (High msg) = [High msg] in concmapSP ms