Added support for (!) function
authorChristiaan Baaij <christiaan.baaij@gmail.com>
Fri, 19 Jun 2009 14:14:28 +0000 (16:14 +0200)
committerChristiaan Baaij <christiaan.baaij@gmail.com>
Fri, 19 Jun 2009 14:14:28 +0000 (16:14 +0200)
Adders.hs
Generate.hs
GlobalNameTable.hs

index d4c43ca173450c14892dbfe92b57b478bcf8db63..6cf3be5d97ddafff47bd158e4d38a8e7cdaea73d 100644 (file)
--- a/Adders.hs
+++ b/Adders.hs
@@ -10,6 +10,7 @@ import Prelude hiding (
 import Language.Haskell.Syntax
 import Types
 import Data.Param.TFVec
+import Data.RangedWord
 
 mainIO f = Sim.simulateIO (Sim.stateless f) ()
 
@@ -171,8 +172,8 @@ highordtest = \x ->
              in
                 \c d -> op' d c
 
-functiontest :: TFVec D4 Bit -> Bit
-functiontest = \v -> let r = head v in r
+functiontest :: TFVec D4 Bit -> RangedWord D3 -> Bit
+functiontest = \v i -> let r = v!i in r
 
 highordtest2 = \a b ->
          case a of
index 97d94882206ad81701ca39b8e583a6884753326f..2beacb8d5616e7c9014f3fef35a6644d02773a49 100644 (file)
@@ -26,12 +26,12 @@ genUnconsVectorFuns :: AST.TypeMark -- ^ type of the vector elements
 genUnconsVectorFuns elemTM vectorTM  = 
   [ AST.SubProgBody exSpec      []                  [exExpr]                    
   , AST.SubProgBody replaceSpec [AST.SPVD replaceVar] [replaceExpr,replaceRet]   
-    , AST.SubProgBody headSpec    []                  [headExpr]                  
-    , AST.SubProgBody lastSpec    []                  [lastExpr]                  
-    , AST.SubProgBody initSpec    [AST.SPVD initVar]  [initExpr, initRet]         
-    , AST.SubProgBody tailSpec    [AST.SPVD tailVar]  [tailExpr, tailRet]         
-    , AST.SubProgBody takeSpec    [AST.SPVD takeVar]  [takeExpr, takeRet]         
-    , AST.SubProgBody dropSpec    [AST.SPVD dropVar]  [dropExpr, dropRet]         
+  , AST.SubProgBody headSpec    []                  [headExpr]                  
+  , AST.SubProgBody lastSpec    []                  [lastExpr]                  
+  , AST.SubProgBody initSpec    [AST.SPVD initVar]  [initExpr, initRet]         
+  , AST.SubProgBody tailSpec    [AST.SPVD tailVar]  [tailExpr, tailRet]         
+  , AST.SubProgBody takeSpec    [AST.SPVD takeVar]  [takeExpr, takeRet]         
+  , AST.SubProgBody dropSpec    [AST.SPVD dropVar]  [dropExpr, dropRet]         
   ]
   where 
     ixPar   = AST.unsafeVHDLBasicId "ix"
index ef4b25ed986d542c79465bc46793f3c0de9a21e8..c860dcb437e5732c50968168d770bc10aca075ef 100644 (file)
@@ -17,6 +17,6 @@ mkGlobalNameTable = Map.fromList
 
 globalNameTable :: NameTable
 globalNameTable = mkGlobalNameTable
-  [ (show ('(V.!))           , (2, genExprFCall2L exId                           ) )
-  , ("head"          , (1, genExprFCall1L headId                         ) )
+  [ ("!"    , (2, genExprFCall2L exId                           ) )
+  , ("head"           , (1, genExprFCall1L headId                         ) )
   ]
\ No newline at end of file