summaryrefslogtreecommitdiff
path: root/examples/app/AppFunctor.gf
diff options
context:
space:
mode:
authoraarne <aarne@chalmers.se>2016-06-04 17:07:35 +0000
committeraarne <aarne@chalmers.se>2016-06-04 17:07:35 +0000
commite682f0972d4e6ca4c2b7ba52125512565ed2020b (patch)
tree6676b50e3ec9daf8d28e75d4f153d26d677eacc5 /examples/app/AppFunctor.gf
parent4fea4ace7bd6e92af78a7a9db778b61a9501e194 (diff)
made App into a functor to make its body easier to modify; unfortunately, the import list must be copied however
Diffstat (limited to 'examples/app/AppFunctor.gf')
-rw-r--r--examples/app/AppFunctor.gf45
1 files changed, 45 insertions, 0 deletions
diff --git a/examples/app/AppFunctor.gf b/examples/app/AppFunctor.gf
new file mode 100644
index 000000000..b96bf1b1c
--- /dev/null
+++ b/examples/app/AppFunctor.gf
@@ -0,0 +1,45 @@
+incomplete concrete AppFunctor of App =
+
+ Translate - [
+ -- Verb
+ SlashV2a,ComplSlash, -- replaced by a more efficient inlined version
+ SlashV2V,
+ Slash2V3, Slash3V3, SlashV2S, SlashV2Q, SlashV2A,
+ SlashVV, SlashV2VNP,
+ AdvVPSlash, AdVVPSlash, VPSlashPrep,
+ -- Sentence
+ SlashVP, SlashVS,
+ PredSCVP,
+ AdvSlash, SlashPrep, SlashVS,
+ EmbedS, EmbedQS, EmbedVP, RelS,
+ -- Question
+ ComplSlashIP,AdvQVP,AddAdvQVP,QuestQVP,
+ -- Idiom
+ CleftNP, CleftAdv,
+ ImpP3,
+ -- Construction
+ -- Extensions
+ PassVPSlash, PassAgentVPSlash -- not reachable anyway
+ ]
+
+ ** open Syntax in {
+
+flags
+ literal=Symb ;
+
+lin
+ ComplV2 v np = mkVP v np ;
+
+ ComplV2V v np vp = mkVP v np vp ;
+-- ComplV2A v np vp = mkVP v np vp ;
+-- ComplV2Q v np vp = mkVP v np vp ;
+-- ComplV2S v np vp = mkVP v np vp ;
+ ComplV3 v np vp = mkVP v np vp ;
+
+
+
+ PassV2 v2 = passiveVP v2 ;
+ RelV2 rp np v2 = mkRCl rp (mkClSlash np (mkVPSlash v2)) ;
+ QuestV2 ip np v2 = mkQCl ip (mkClSlash np (mkVPSlash v2)) ;
+
+}