Unify typeprop and funprop into argprop.
[matthijs/master-project/cλash.git] / CoreTools.hs
index 3f9b33c8849c6ebe3ab921b931cb35be165fa44b..0297f90435c02000cb7b75d0ae0b4ff9833a7484 100644 (file)
@@ -98,7 +98,7 @@ tfvec_len ty =
   where  
     args = case Type.splitTyConApp_maybe ty of
       Just (tycon, args) -> args
-      Nothing -> error $ "CoreTools.tfvec_len Not a vector type: " ++ (pprString ty)
+      Nothing -> error $ "\nCoreTools.tfvec_len: Not a vector type: " ++ (pprString ty)
     [len, el_ty] = args
     
 -- | Get the element type of a TFVec type
@@ -107,7 +107,7 @@ tfvec_elem ty = el_ty
   where
     args = case Type.splitTyConApp_maybe ty of
       Just (tycon, args) -> args
-      Nothing -> error $ "CoreTools.tfvec_len Not a vector type: " ++ (pprString ty)
+      Nothing -> error $ "\nCoreTools.tfvec_len: Not a vector type: " ++ (pprString ty)
     [len, el_ty] = args
 
 -- Is this a wild binder?
@@ -165,6 +165,7 @@ has_free_vars = not . VarSet.isEmptyVarSet . CoreFVs.exprFreeVars
 -- simple Var CoreExprs, not complexer ones.
 exprToVar :: CoreSyn.CoreExpr -> Var.Id
 exprToVar (CoreSyn.Var id) = id
+exprToVar expr = error $ "\nCoreTools.exprToVar: Not a var: " ++ show expr
 
 -- Removes all the type and dictionary arguments from the given argument list,
 -- leaving only the normal value arguments. The type given is the type of the