projects
/
matthijs
/
master-project
/
cλash.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
61fdce0
)
Add is_lam and is_fun predicates.
author
Matthijs Kooijman
<m.kooijman@student.utwente.nl>
Thu, 18 Jun 2009 12:55:14 +0000
(14:55 +0200)
committer
Matthijs Kooijman
<m.kooijman@student.utwente.nl>
Thu, 18 Jun 2009 12:55:14 +0000
(14:55 +0200)
CoreTools.hs
patch
|
blob
|
history
diff --git
a/CoreTools.hs
b/CoreTools.hs
index 63bca94c23225ef84e94e8ee9e3755dd976b3a3f..3dfaf5016cedb0ede442564d2e22452d9cc16e37 100644
(file)
--- a/
CoreTools.hs
+++ b/
CoreTools.hs
@@
-20,6
+20,7
@@
import qualified SrcLoc
import qualified CoreSyn
import qualified Var
import qualified Unique
import qualified CoreSyn
import qualified Var
import qualified Unique
+import qualified CoreUtils
import GhcTools
import HsTools
import GhcTools
import HsTools
@@
-89,3
+90,12
@@
is_wild :: CoreSyn.CoreBndr -> Bool
-- occstring for now... TODO
--(Var.varUnique bndr) == (Unique.mkBuiltinUnique 1)
is_wild bndr = "wild" == (OccName.occNameString . Name.nameOccName . Var.varName) bndr
-- occstring for now... TODO
--(Var.varUnique bndr) == (Unique.mkBuiltinUnique 1)
is_wild bndr = "wild" == (OccName.occNameString . Name.nameOccName . Var.varName) bndr
+
+-- Is the given core expression a lambda abstraction?
+is_lam :: CoreSyn.CoreExpr -> Bool
+is_lam (CoreSyn.Lam _ _) = True
+is_lam _ = False
+
+-- Is the given core expression of a function type?
+is_fun :: CoreSyn.CoreExpr -> Bool
+is_fun = Type.isFunTy . CoreUtils.exprType