summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Compile/Concrete/AppPredefined.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-05-28 14:15:15 +0000
committerkrasimir <krasimir@chalmers.se>2010-05-28 14:15:15 +0000
commitc3f4c3eba7b7d98f48cfe56711eb18611bb89515 (patch)
tree42dafb392663e9a92238fd6b2f4dfa289b468f0e /src/compiler/GF/Compile/Concrete/AppPredefined.hs
parentb3d6f01f403dbf86207079b214b75c2445ad55b7 (diff)
refactoring in GF.Grammar.Grammar
Diffstat (limited to 'src/compiler/GF/Compile/Concrete/AppPredefined.hs')
-rw-r--r--src/compiler/GF/Compile/Concrete/AppPredefined.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler/GF/Compile/Concrete/AppPredefined.hs b/src/compiler/GF/Compile/Concrete/AppPredefined.hs
index c05127191..73355381e 100644
--- a/src/compiler/GF/Compile/Concrete/AppPredefined.hs
+++ b/src/compiler/GF/Compile/Concrete/AppPredefined.hs
@@ -71,13 +71,13 @@ appPredefined t = case t of
(x,_) <- appPredefined x0
case f of
-- one-place functions
- Q mod f | mod == cPredef ->
+ Q (mod,f) | mod == cPredef ->
case x of
(K s) | f == cLength -> retb $ EInt $ toInteger $ length s
_ -> retb t
-- two-place functions
- App (Q mod f) z0 | mod == cPredef -> do
+ App (Q (mod,f)) z0 | mod == cPredef -> do
(z,_) <- appPredefined z0
case (norm z, norm x) of
(EInt i, K s) | f == cDrop -> retb $ K (drop (fi i) s)
@@ -96,7 +96,7 @@ appPredefined t = case t of
_ -> retb t ---- prtBad "cannot compute predefined" t
-- three-place functions
- App (App (Q mod f) z0) y0 | mod == cPredef -> do
+ App (App (Q (mod,f)) z0) y0 | mod == cPredef -> do
(y,_) <- appPredefined y0
(z,_) <- appPredefined z0
case (z, y, x) of
@@ -123,8 +123,8 @@ appPredefined t = case t of
-- read makes variables into constants
-predefTrue = QC cPredef cPTrue
-predefFalse = QC cPredef cPFalse
+predefTrue = QC (cPredef,cPTrue)
+predefFalse = QC (cPredef,cPFalse)
substring :: String -> String -> Bool
substring s t = case (s,t) of