1
0
forked from GitHub/gf-rgl

the names API in more languages

This commit is contained in:
Krasimir Angelov
2023-08-16 19:39:22 +02:00
parent d25d648134
commit 6bc965f6c2
69 changed files with 1584 additions and 270 deletions
+33
View File
@@ -422,6 +422,9 @@ mkVS = overload {
Case = MorphoFin.Case ;
Number = MorphoFin.Number ;
male = Male ;
female = Female ;
singular = Sg ;
plural = Pl ;
@@ -841,6 +844,36 @@ mkVS = overload {
}
} ;
mkLN = overload {
mkLN : Str -> LN = \s -> lin LN (snoun2spn (mk1N s) ** {n = Sg}) ;
mkLN : Str -> Number -> LN = \s,n -> lin LN (snoun2spn (mk1N s) ** {n = n}) ;
mkLN : N -> LN = \noun -> lin LN (snoun2spn noun ** {n = Sg}) ;
mkLN : N -> Number -> LN = \noun,n -> lin LN (snoun2spn noun ** {n = n}) ;
} ;
mkGN = overload {
mkGN : Str -> GN = \s -> lin GN (snoun2spn (mk1N s) ** {g = Male}) ;
mkGN : Str -> Sex -> GN = \s,g -> lin GN (snoun2spn (mk1N s) ** {g = g}) ;
mkGN : N -> GN = \noun -> lin GN (snoun2spn noun ** {g = Male}) ;
mkGN : N -> Sex -> GN = \noun,g -> lin GN (snoun2spn noun ** {g = g}) ;
} ;
mkSN = overload {
mkSN : Str -> SN = \s -> let spn = snoun2spn (mk1N s) in lin SN {s = \\_=>spn; pl=spn} ;
mkSN : Str -> Str -> Str -> SN
= \male,female,pl -> lin SN {
s = table {Male =>snoun2spn (mk1N male);
Female=>snoun2spn (mk1N female)};
pl= snoun2spn (mk1N pl)
} ;
mkSN : N -> SN = \noun -> let spn = snoun2spn noun in lin SN {s = \\_=>spn; pl=spn} ;
mkSN : N -> N -> N -> SN
= \male,female,pl -> lin SN {
s = table {Male =>snoun2spn male;
Female=>snoun2spn female};
pl= snoun2spn pl
} ;
} ;
-- adjectives