Merge branch 'master' of https://github.com/dopefishh/cc1516
[cc1516.git] / sem.icl
diff --git a/sem.icl b/sem.icl
index addadad..603d53a 100644 (file)
--- a/sem.icl
+++ b/sem.icl
@@ -49,7 +49,7 @@ semFunDecl fd=:(FunDecl p f args mt vds stmts) =
     (case mt of
         Nothing = let t = IdType f in putIdent f t >>| pure t
         Just t = putIdent f t >>| pure t) >>= \ft ->
-    mapM_ (\a-> putIdent a (IdType <$> freshIdent)) args >>|
+    mapM_ (\a-> freshIdent >>= \fr-> putIdent a (IdType fr)) args >>|
     mapM_ semVarDecl vds >>| 
     mapM_ (checkStmt $ resultType ft) stmts >>| 
     restoreGamma gamma >>| pure fd