projects
/
coq-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add support for CSP in HaskCore+HaskWeak
[coq-hetmet.git]
/
src
/
HaskWeakToCore.v
diff --git
a/src/HaskWeakToCore.v
b/src/HaskWeakToCore.v
index
b6add94
..
9607d5f
100644
(file)
--- a/
src/HaskWeakToCore.v
+++ b/
src/HaskWeakToCore.v
@@
-59,6
+59,12
@@
Fixpoint weakExprToCoreExpr (me:WeakExpr) : @CoreExpr CoreVar :=
(weakExprToCoreExpr e)::
nil)
(CoreEVar v)
(weakExprToCoreExpr e)::
nil)
(CoreEVar v)
+ | WECSP v (weakTypeVar ec _) e t => fold_left CoreEApp
+ ((CoreEType (TyVarTy ec))::
+ (CoreEType (weakTypeToCoreType t))::
+ (weakExprToCoreExpr e)::
+ nil)
+ (CoreEVar v)
| WELet (weakExprVar v _) ve e => mkCoreLet (CoreNonRec v (weakExprToCoreExpr ve)) (weakExprToCoreExpr e)
| WECase vscrut e tbranches tc types alts =>
CoreECase (weakExprToCoreExpr e) vscrut (weakTypeToCoreType tbranches)
| WELet (weakExprVar v _) ve e => mkCoreLet (CoreNonRec v (weakExprToCoreExpr ve)) (weakExprToCoreExpr e)
| WECase vscrut e tbranches tc types alts =>
CoreECase (weakExprToCoreExpr e) vscrut (weakTypeToCoreType tbranches)