@@ -4,6 +4,7 @@ module Transform.Canonicalize (interface, metadataModule) where
4import Control.Arrow ((***))
4import Control.Arrow ((***))
5import Control.Applicative (Applicative,(<$>),(<*>))
5import Control.Applicative (Applicative,(<$>),(<*>))
6import Control.Monad.Identity
6import Control.Monad.Identity
7+import qualified Data.Traversable as T
7import qualified Data.Map as Map
8import qualified Data.Map as Map
8import qualified Data.Set as Set
9import qualified Data.Set as Set
9import qualified Data.List as List
10import qualified Data.List as List
@@ -149,9 +150,7 @@ rename env (L s expr) =
149 rename' (Definition p body mtipe) =
150 rename' (Definition p body mtipe) =
150 Definition <$> format (renamePattern env' p)
151 Definition <$> format (renamePattern env' p)
151 <*> rename env' body
152 <*> rename env' body
153− Nothing -> return Nothing
154− Just tipe -> Just <$> renameType' env' tipe
153+ <*> T.traverse (renameType' env') mtipe
156 Var x -> Var <$> format (replace "variable" env x)
155 Var x -> Var <$> format (replace "variable" env x)