summaryrefslogtreecommitdiff
path: root/src/Transfer/Syntax/Skel.hs
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2005-12-02 18:33:08 +0000
committerbringert <bringert@cs.chalmers.se>2005-12-02 18:33:08 +0000
commit983aef132b0695af7e1b16d77ad43180388eea71 (patch)
treeaa95e673e10ccc32e3e0fdf1556659c0c041aa53 /src/Transfer/Syntax/Skel.hs
parentdea5158cbf1c11d45f2ed91d9975fbc77245e652 (diff)
Transfer added guards and Eq derivation.
Diffstat (limited to 'src/Transfer/Syntax/Skel.hs')
-rw-r--r--src/Transfer/Syntax/Skel.hs41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/Transfer/Syntax/Skel.hs b/src/Transfer/Syntax/Skel.hs
index d41d5512f..6262da7f9 100644
--- a/src/Transfer/Syntax/Skel.hs
+++ b/src/Transfer/Syntax/Skel.hs
@@ -15,9 +15,11 @@ transTree t = case t of
Import i -> failure t
DataDecl i exp consdecls -> failure t
TypeDecl i exp -> failure t
- ValueDecl i patterns exp -> failure t
+ ValueDecl i patterns guard exp -> failure t
DeriveDecl i0 i1 -> failure t
ConsDecl i exp -> failure t
+ GuardExp exp -> failure t
+ GuardNo -> failure t
POr pattern0 pattern1 -> failure t
PListCons pattern0 pattern1 -> failure t
PConsTop i pattern patterns -> failure t
@@ -31,13 +33,13 @@ transTree t = case t of
PWild -> failure t
PListElem pattern -> failure t
FieldPattern i pattern -> failure t
+ EPi varorwild exp0 exp1 -> failure t
+ EPiNoVar exp0 exp1 -> failure t
+ EAbs varorwild exp -> failure t
ELet letdefs exp -> failure t
ECase exp cases -> failure t
EIf exp0 exp1 exp2 -> failure t
EDo binds exp -> failure t
- EAbs varorwild exp -> failure t
- EPi varorwild exp0 exp1 -> failure t
- EPiNoVar exp0 exp1 -> failure t
EBind exp0 exp1 -> failure t
EBindC exp0 exp1 -> failure t
EOr exp0 exp1 -> failure t
@@ -66,12 +68,12 @@ transTree t = case t of
EInteger n -> failure t
EDouble d -> failure t
EMeta -> failure t
+ VVar i -> failure t
+ VWild -> failure t
LetDef i exp0 exp1 -> failure t
- Case pattern exp -> failure t
+ Case pattern guard exp -> failure t
BindVar varorwild exp -> failure t
BindNoVar exp -> failure t
- VVar i -> failure t
- VWild -> failure t
FieldType i exp -> failure t
FieldValue i exp -> failure t
Ident str -> failure t
@@ -88,13 +90,18 @@ transDecl :: Decl -> Result
transDecl t = case t of
DataDecl i exp consdecls -> failure t
TypeDecl i exp -> failure t
- ValueDecl i patterns exp -> failure t
+ ValueDecl i patterns guard exp -> failure t
DeriveDecl i0 i1 -> failure t
transConsDecl :: ConsDecl -> Result
transConsDecl t = case t of
ConsDecl i exp -> failure t
+transGuard :: Guard -> Result
+transGuard t = case t of
+ GuardExp exp -> failure t
+ GuardNo -> failure t
+
transPattern :: Pattern -> Result
transPattern t = case t of
POr pattern0 pattern1 -> failure t
@@ -119,13 +126,13 @@ transFieldPattern t = case t of
transExp :: Exp -> Result
transExp t = case t of
+ EPi varorwild exp0 exp1 -> failure t
+ EPiNoVar exp0 exp1 -> failure t
+ EAbs varorwild exp -> failure t
ELet letdefs exp -> failure t
ECase exp cases -> failure t
EIf exp0 exp1 exp2 -> failure t
EDo binds exp -> failure t
- EAbs varorwild exp -> failure t
- EPi varorwild exp0 exp1 -> failure t
- EPiNoVar exp0 exp1 -> failure t
EBind exp0 exp1 -> failure t
EBindC exp0 exp1 -> failure t
EOr exp0 exp1 -> failure t
@@ -155,24 +162,24 @@ transExp t = case t of
EDouble d -> failure t
EMeta -> failure t
+transVarOrWild :: VarOrWild -> Result
+transVarOrWild t = case t of
+ VVar i -> failure t
+ VWild -> failure t
+
transLetDef :: LetDef -> Result
transLetDef t = case t of
LetDef i exp0 exp1 -> failure t
transCase :: Case -> Result
transCase t = case t of
- Case pattern exp -> failure t
+ Case pattern guard exp -> failure t
transBind :: Bind -> Result
transBind t = case t of
BindVar varorwild exp -> failure t
BindNoVar exp -> failure t
-transVarOrWild :: VarOrWild -> Result
-transVarOrWild t = case t of
- VVar i -> failure t
- VWild -> failure t
-
transFieldType :: FieldType -> Result
transFieldType t = case t of
FieldType i exp -> failure t