Merge git://github.com/darchon/clash into cλash
authorMatthijs Kooijman <m.kooijman@student.utwente.nl>
Tue, 14 Jul 2009 11:00:13 +0000 (13:00 +0200)
committerMatthijs Kooijman <m.kooijman@student.utwente.nl>
Tue, 14 Jul 2009 11:00:13 +0000 (13:00 +0200)
* git://github.com/darchon/clash:
  Added resize function

CoreTools.hs
Generate.hs
HsTools.hs

index 3a028195634a61100e47ae9322df72138688e8e9..4677af498b56680a0c2bf2362a0eda35cf528893 100644 (file)
@@ -51,12 +51,6 @@ eval_tfp_int env ty =
     let app = SrcLoc.noLoc $ HsExpr.HsApp (from_int_t) (undef)
     let int_ty = SrcLoc.noLoc $ HsTypes.HsTyVar TysWiredIn.intTyCon_RDR
     let expr = HsExpr.ExprWithTySig app int_ty
-    let foo_name = mkRdrName "Types.Data.Num" "foo"
-    let foo_bind_name = RdrName.mkRdrUnqual $ OccName.mkVarOcc "foo"
-    let binds = Bag.listToBag [SrcLoc.noLoc $ HsBinds.VarBind foo_bind_name (SrcLoc.noLoc $ HsExpr.HsVar foo_name)]
-    let letexpr = HsExpr.HsLet 
-          (HsBinds.HsValBinds $ (HsBinds.ValBindsIn binds) [])
-          (SrcLoc.noLoc expr)
     core <- toCore expr
     execCore core 
 
index 1af1be33a63c977b0e5630f2fd32c0dec097efc5..f4cab36460d4f1b1b9e39ce5dc8819a582c68102 100644 (file)
@@ -42,17 +42,8 @@ genExprArgs wrap dst func args = do
   args' <- eitherCoreOrExprArgs args
   wrap dst func args'
 
-idM :: a -> VHDLSession a
-idM e = return e
-
-eitherM :: (a -> m c) -> (b -> m c) -> Either a b -> m c
-eitherM f1 f2 e = do
-  case e of
-    Left e1 -> f1 e1
-    Right e2 -> f2 e2
-    
 eitherCoreOrExprArgs :: [Either CoreSyn.CoreExpr AST.Expr] -> VHDLSession [AST.Expr]
-eitherCoreOrExprArgs args = mapM (eitherM (\x -> MonadState.lift vsType $ (varToVHDLExpr (exprToVar x))) idM) args
+eitherCoreOrExprArgs args = mapM (Either.either ((MonadState.lift vsType) . varToVHDLExpr . exprToVar) return) args
 
 -- | A function to wrap a builder-like function that expects its arguments to
 -- be variables.
index d132ce874033020c12071996e3c112ec92477ce7..1bad94167b9f0a5d197798ba290e7c477dd2511e 100644 (file)
@@ -162,7 +162,7 @@ execCore expr = do
         -- to run an IO-monad-inside-a-GHC-monad for some reason. I don't really
         -- understand what it means, but it works.
         env <- GHC.getSession
-        let srcspan = SrcLoc.mkGeneralSrcSpan (FastString.fsLit "XXX")
+        let srcspan = SrcLoc.noSrcSpan
         hval <- MonadUtils.liftIO $ HscMain.compileExpr env srcspan expr
         let res = Unsafe.Coerce.unsafeCoerce hval :: Int
         return $ Unsafe.Coerce.unsafeCoerce hval