Unify all BuiltinBuilder functions.
[matthijs/master-project/cλash.git] / GlobalNameTable.hs
index 9a6122778e91aee8a11a5d6180769c71f1208366..ab5657443425697341ff1ab17bf8efc47c205888 100644 (file)
@@ -12,28 +12,28 @@ import VHDLTypes
 import Constants
 import Generate
 
-mkGlobalNameTable :: [(String, (Int, Builder) )] -> NameTable
+mkGlobalNameTable :: [(String, (Int, BuiltinBuilder) )] -> NameTable
 mkGlobalNameTable = Map.fromList
 
 globalNameTable :: NameTable
 globalNameTable = mkGlobalNameTable
-  [ (exId             , (2, Left $ genExprFCall exId                      ) )
-  , (replaceId        , (3, Left $ genExprFCall replaceId                 ) )
-  , (headId           , (1, Left $ genExprFCall headId                    ) )
-  , (lastId           , (1, Left $ genExprFCall lastId                    ) )
-  , (tailId           , (1, Left $ genExprFCall tailId                    ) )
-  , (initId           , (1, Left $ genExprFCall initId                    ) )
-  , (takeId           , (2, Left $ genExprFCall takeId                    ) )
-  , (dropId           , (2, Left $ genExprFCall dropId                    ) )
-  , (plusgtId         , (2, Left $ genExprFCall plusgtId                  ) )
-  , (mapId            , (2, Right $ genMapCall                            ) )
-  , (zipWithId        , (3, Right $ genZipWithCall                        ) )
-  , (foldlId          , (3, Right $ genFoldlCall                          ) )
-  , (emptyId          , (0, Left $ genExprFCall emptyId                   ) )
-  , (singletonId      , (1, Left $ genExprFCall singletonId               ) )
-  , (copyId           , (2, Left $ genExprFCall copyId                    ) )
-  , (hwxorId          , (2, Left $ genExprOp2 AST.Xor                     ) )
-  , (hwandId          , (2, Left $ genExprOp2 AST.And                     ) )
-  , (hworId           , (2, Left $ genExprOp2 AST.Or                      ) )
-  , (hwnotId          , (1, Left $ genExprOp1 AST.Not                     ) )
+  [ (exId             , (2, genFCall                ) )
+  , (replaceId        , (3, genFCall                ) )
+  , (headId           , (1, genFCall                ) )
+  , (lastId           , (1, genFCall                ) )
+  , (tailId           , (1, genFCall                ) )
+  , (initId           , (1, genFCall                ) )
+  , (takeId           , (2, genFCall                ) )
+  , (dropId           , (2, genFCall                ) )
+  , (plusgtId         , (2, genFCall                ) )
+  , (mapId            , (2, genMap                  ) )
+  , (zipWithId        , (3, genZipWith              ) )
+  , (foldlId          , (3, genFoldl                ) )
+  , (emptyId          , (0, genFCall                ) )
+  , (singletonId      , (1, genFCall                ) )
+  , (copyId           , (2, genFCall                ) )
+  , (hwxorId          , (2, genOperator2 AST.Xor    ) )
+  , (hwandId          , (2, genOperator2 AST.And    ) )
+  , (hworId           , (2, genOperator2 AST.Or     ) )
+  , (hwnotId          , (1, genOperator1 AST.Not    ) )
   ]