summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Infra/Option.hs
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2014-12-11 16:08:36 +0000
committerhallgren <hallgren@chalmers.se>2014-12-11 16:08:36 +0000
commit2eaf46f6104d02f25c5a0551af08114dac6b63e9 (patch)
treee2fa8d146d7908497165f1a96c9397a11b6b7bd8 /src/compiler/GF/Infra/Option.hs
parent9be0c216769b7ba31e7f6e7dca28de3c9cecd4a3 (diff)
Work in progress on translating linearization functions to Haskell
The translation is currently good enough to translate all concrete syntaxes of the Foods and Letter grammars, and some concrete syntaxes of the Phrasebook grammar (e.g. PhrasebookEng & PhrasebookSpa works, but there are problems with e.g. PhrasebookSwe and PhrasebookChi) This functionality is enabled by running gf -make -output-format=haskell -haskell=concrete ... TODO: - variants - pre { ... } - eta expansion of linearization functions - record subtyping can still cause type errors in the Haskell code in some cases - reduce code large tables
Diffstat (limited to 'src/compiler/GF/Infra/Option.hs')
-rw-r--r--src/compiler/GF/Infra/Option.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/compiler/GF/Infra/Option.hs b/src/compiler/GF/Infra/Option.hs
index 6bcbe3851..85e02e305 100644
--- a/src/compiler/GF/Infra/Option.hs
+++ b/src/compiler/GF/Infra/Option.hs
@@ -126,6 +126,7 @@ data CFGTransform = CFGNoLR
deriving (Show,Eq,Ord)
data HaskellOption = HaskellNoPrefix | HaskellGADT | HaskellLexical
+ | HaskellConcrete
deriving (Show,Eq,Ord)
data Warning = WarnMissingLincat
@@ -519,7 +520,8 @@ haskellOptionNames :: [(String, HaskellOption)]
haskellOptionNames =
[("noprefix", HaskellNoPrefix),
("gadt", HaskellGADT),
- ("lexical", HaskellLexical)]
+ ("lexical", HaskellLexical),
+ ("concrete", HaskellConcrete)]
-- | This is for bacward compatibility. Since GHC 6.12 we
-- started using the native Unicode support in GHC but it