summaryrefslogtreecommitdiff
path: root/examples/tutorial/syntax/MorphoEng.gf
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tutorial/syntax/MorphoEng.gf')
-rw-r--r--examples/tutorial/syntax/MorphoEng.gf69
1 files changed, 0 insertions, 69 deletions
diff --git a/examples/tutorial/syntax/MorphoEng.gf b/examples/tutorial/syntax/MorphoEng.gf
deleted file mode 100644
index b2255d0d4..000000000
--- a/examples/tutorial/syntax/MorphoEng.gf
+++ /dev/null
@@ -1,69 +0,0 @@
---# -path=.:prelude
-
-resource MorphoEng = open Prelude in {
-
- -- the lexicon construction API
-
- oper
- mkN : overload {
- mkN : (bus : Str) -> Noun ;
- mkN : (man,men : Str) -> Noun ;
- } ;
-
- mkA : (warm : Str) -> Adjective ;
-
- mkV : overload {
- mkV : (kiss : Str) -> Verb ;
- mkV : (do,does : Str) -> Verb ;
- } ;
-
- mkV2 : overload {
- mkV2 : (love : Verb) -> Verb2 ;
- mkV2 : (talk : Verb) -> (about : Str) -> Verb2 ;
- } ;
-
- -- grammar-internal definitions
-
- param
- Number = Sg | Pl ;
-
- oper
- Noun, Verb : Type = {s : Number => Str} ;
- Adjective : Type = {s : Str} ;
- Verb2 : Type = Verb ** {c : Str} ;
-
- mkN = overload {
- mkN : (bus : Str) -> Noun = \s -> mkNoun s (add_s s) ;
- mkN : (man,men : Str) -> Noun = mkNoun ;
- } ;
-
- mkA : (warm : Str) -> Adjective = ss ;
-
- mkV = overload {
- mkV : (kiss : Str) -> Verb = \s -> mkVerb s (add_s s) ;
- mkV : (do,does : Str) -> Verb = mkVerb ;
- } ;
-
- mkV2 = overload {
- mkV2 : (love : Verb) -> Verb2 = \love -> love ** {c = []} ;
- mkV2 : (talk : Verb) -> (about : Str) -> Verb2 =
- \talk,about -> talk ** {c = about} ;
- } ;
-
- add_s : Str -> Str = \w -> case w of {
- _ + "oo" => w + "s" ; -- bamboo
- _ + ("s" | "z" | "x" | "sh" | "o") => w + "es" ; -- bus, hero
- _ + ("a" | "o" | "u" | "e") + "y" => w + "s" ; -- boy
- x + "y" => x + "ies" ; -- fly
- _ => w + "s" -- car
- } ;
-
- mkNoun : Str -> Str -> Noun = \x,y -> {
- s = table {
- Sg => x ;
- Pl => y
- }
- } ;
-
- mkVerb : Str -> Str -> Verb = \x,y -> mkNoun y x ;
- }