Builtin function 'empty' now returns a constant empty vector
authorChristiaan Baaij <christiaan.baaij@gmail.com>
Wed, 24 Jun 2009 09:41:40 +0000 (11:41 +0200)
committerChristiaan Baaij <christiaan.baaij@gmail.com>
Wed, 24 Jun 2009 09:41:40 +0000 (11:41 +0200)
Generate.hs

index 654dc8625cbc864ce49c15a9c7963d05419bda80..264f4e350099eef9dae70ccffe02f2360eef555f 100644 (file)
@@ -74,7 +74,7 @@ genUnconsVectorFuns elemTM vectorTM  =
   , AST.SubProgBody takeSpec    [AST.SPVD takeVar]  [takeExpr, takeRet]         
   , AST.SubProgBody dropSpec    [AST.SPVD dropVar]  [dropExpr, dropRet]    
   , AST.SubProgBody plusgtSpec  [AST.SPVD plusgtVar] [plusgtExpr, plusgtRet]
-  , AST.SubProgBody emptySpec   [AST.SPVD emptyVar] [emptyExpr]
+  , AST.SubProgBody emptySpec   [AST.SPCD emptyVar] [emptyExpr]
   , AST.SubProgBody singletonSpec [AST.SPVD singletonVar] [singletonRet] 
   , AST.SubProgBody copySpec    [AST.SPVD copyVar]      [copyExpr]
   ]
@@ -217,12 +217,9 @@ genUnconsVectorFuns elemTM vectorTM  =
     plusgtRet = AST.ReturnSm (Just $ AST.PrimName $ AST.NSimple resId)
     emptySpec = AST.Function emptyId [] vectorTM
     emptyVar = 
-          AST.VarDec resId 
-              (AST.SubtypeIn vectorTM
-                (Just $ AST.ConstraintIndex $ AST.IndexConstraint 
-                 [AST.ToRange (AST.PrimLit "0")
-                          (AST.PrimLit "-1")]))
-              Nothing
+          AST.ConstDec resId 
+              (AST.SubtypeIn vectorTM Nothing)
+              (Just $ AST.PrimLit "\"\"")
     emptyExpr = AST.ReturnSm (Just $ AST.PrimName (AST.NSimple resId))
     singletonSpec = AST.Function singletonId [AST.IfaceVarDec aPar elemTM ] 
                                          vectorTM