on master help sign in
Fix bug in type application when converting SourceSyntax.Type to Type.Type

Also get rid of some print statements.

commitc881bd8ef25f507b76c01134dc8e5d27779d191c authorEvan Czaplicki <info@elm-lang.org> dateThu 18 Jul 2013, 18:16 (13 years ago) parent901179c
1 file changed+4−7
compiler/Type/Environment.hs+4−7
compiler/Type/Environment.hs+4−7
@@ -41,7 +41,7 @@ makeTypes datatypes =
4141 kind n names = map (\name -> (name, n)) names
4242
4343 builtins :: [(String,Int)]
44− builtins = concat [ map tuple [0..10]
44+ builtins = concat [ map tuple [0..9]
4545 , kind 1 ["_List","Maybe","Signal"]
4646 , kind 0 ["Int","Float","Char","Bool","Element"]
4747 ]
@@ -68,7 +68,7 @@ makeConstructors types datatypes =
6868 , ("Just" , inst 1 1 $ \ [t] -> t ==> maybe t)
6969 , ("[]" , inst 0 1 $ \ [t] -> list t)
7070 , ("::" , inst 2 1 $ \ [t] -> t ==> list t ==> list t)
71− ] ++ map tupleCtor [0..10]
71+ ] ++ map tupleCtor [0..9]
7272
7373
7474
@@ -79,9 +79,7 @@ get env subDict key = Map.findWithDefault err key (subDict env)
7979
8080
8181freshDataScheme :: Environment -> String -> IO (Int, [Variable], Type)
82−freshDataScheme env name = do
83− putStr "fresh " >> putStrLn name
84− get env constructor name
82+freshDataScheme env name = get env constructor name
8583
8684
8785instances :: Environment
@@ -123,9 +121,8 @@ instantiateTypeWithContext env sourceType dict =
123121 return (VarN var)
124122
125123 Src.Data name ts -> do
126− State.liftIO $ putStr "instantiate " >> putStrLn name
127124 ts' <- mapM go ts
128− return $ foldr (\t result -> TermN $ App1 t result) (get env types name) ts'
125+ return $ foldl (\tyFn ty -> TermN $ App1 tyFn ty) (get env types name) ts'
129126
130127 Src.EmptyRecord -> return (TermN EmptyRecord1)
131128