Make is_fun also work properly for Type CoreExprs.
[matthijs/master-project/cλash.git] / CoreTools.hs
index a8dce3fab43ac345762307704a27b6d1e31592b3..0bfe58fa8fd4657149cf171e5295da54eb001559 100644 (file)
@@ -98,4 +98,6 @@ is_lam _ = False
 
 -- Is the given core expression of a function type?
 is_fun :: CoreSyn.CoreExpr -> Bool
-is_fun = Type.isFunTy . CoreUtils.exprType
+-- Treat Type arguments differently, because exprType is not defined for them.
+is_fun (CoreSyn.Type _) = False
+is_fun expr = (Type.isFunTy . CoreUtils.exprType) expr