--- tags: 298 NLP, natural language processing, grammatical framework, copyright haub and kurz --- # Notes on GF Lab (German) follows [these notes](https://hackmd.io/@alexhkurz/HJ9rNyz0K) ``` abstract Hello = { flags coding = utf8 ; flags startcat = Greeting; cat Adjective; Greeting; Recipient; fun Hello : Recipient -> Greeting; Welcome : Recipient -> Greeting; RecipPhrase : Adjective -> Recipient -> Recipient; Friends : Recipient; Mom : Recipient; World : Recipient; Awesome : Adjective; Happy : Adjective; } ``` ``` concrete HelloEng of Hello = { flags coding = utf8 ; lincat Greeting = {s : Str}; Recipient = {s : Str}; Adjective = {s : Str}; lin Hello recip = {s = "hello" ++ recip.s}; Welcome recip = {s = "welcome" ++ recip.s}; World = {s = "world"}; Mom = {s = "mom"}; Friends = {s = "friends"}; RecipPhrase adj recip = {s = adj.s ++ recip.s}; Awesome = {s = "awesome"}; Happy = {s = "happy"}; } ``` ``` concrete HelloSpa of Hello = { flags coding = utf8 ; lincat Adjective = {s : Gender => Str}; Greeting = {s : Str}; Recipient = {s : Str; g : Gender}; lin Hello recip = {s = "hola" ++ recip.s}; Welcome recip = {s = "bienvenidos" ++ recip.s}; World = {s = "mundo"; g = Masc Sg}; Mom = {s = "mamá"; g = Fem Sg}; Friends = {s = "amigos"; g = Masc Pl}; RecipPhrase adj recip = {s = recip.s ++ adj.s ! recip.g; g = recip.g}; Awesome = {s = table { Masc Sg => "maravilloso"; Masc Pl => "maravillosos"; Fem Sg => "maravillosa"; Fem Pl => "maravillosas" }}; Happy = {s = table { Masc Sg => "alegre"; Masc Pl => "alegres"; Fem Sg => "alegre"; Fem Pl => "alegres" }}; param Number = Sg | Pl; Gender = Masc Number | Fem Number; } ``` ``` concrete HelloGer of Hello = { flags coding = utf8 ; lincat Adjective = {s : Gender => Str}; Greeting = {s : Str}; Recipient = {s : Str; g : Gender}; lin Hello recip = {s = "Hallo" ++ recip.s}; Welcome recip = {s = "Willkommen" ++ recip.s}; World = {s = "Welt"; g = Fem Sg}; Mom = {s = "Mama"; g = Fem Sg}; Friends = {s = "Freunde"; g = Masc Pl}; RecipPhrase adj recip = {s = (adj.s ! recip.g) ++ recip.s ; g = recip.g}; Awesome = {s = table { Masc Sg => "wunderbarer"; Masc Pl => "wunderbare"; Fem Sg => "wunderbare"; Fem Pl => "wunderbare" }}; Happy = {s = table { Masc Sg => "freundlicher"; Masc Pl => "freundliche"; Fem Sg => "freundliche"; Fem Pl => "freundliche" }}; param Number = Sg | Pl; Gender = Masc Number | Fem Number; } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up