X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Fc%CE%BBash.git;a=blobdiff_plain;f=HsValueMap.hs;h=f4498f20102a64d633859e2d06487c3963842ee1;hp=97e4cdb5d261f33c9f642e9b4c059f628a0ff5b5;hb=HEAD;hpb=a3ea63eb2bd94867dae27a30aa900c9dfa9babb1 diff --git a/HsValueMap.hs b/HsValueMap.hs index 97e4cdb..f4498f2 100644 --- a/HsValueMap.hs +++ b/HsValueMap.hs @@ -57,15 +57,16 @@ mkHsValueMap ty = -- | Creates a map of pairs from two maps. The maps must have the same -- structure. -zipValueMaps :: HsValueMap a -> HsValueMap b -> HsValueMap (a, b) +zipValueMaps :: (Show a, Show b) => HsValueMap a -> HsValueMap b -> HsValueMap (a, b) zipValueMaps = zipValueMapsWith (\a b -> (a, b)) -- | Creates a map of two maps using the given combination function. -zipValueMapsWith :: (a -> b -> c) -> HsValueMap a -> HsValueMap b -> HsValueMap c +zipValueMapsWith :: (Show a, Show b) => (a -> b -> c) -> HsValueMap a -> HsValueMap b -> HsValueMap c zipValueMapsWith f (Tuple as) (Tuple bs) = Tuple $ zipWith (zipValueMapsWith f) as bs zipValueMapsWith f (Single a) (Single b) = Single $ f a b -zipValueMapWith _ _ _ = - error $ "Trying to zip unsimilarly formed trees!" +zipValueMapsWith _ a b = + --Tuple [] + error $ "Trying to zip unsimilarly formed trees!\n" ++ (show a) ++ "\nand\n" ++ (show b)