(Hun) Add 2-argument smart paradigm for A

This commit is contained in:
Inari Listenmaa
2020-04-26 20:16:45 +02:00
parent 22cadd2ac6
commit bbcde26d72
2 changed files with 12 additions and 9 deletions

View File

@@ -151,7 +151,8 @@ oper
mkA = overload {
mkA : (sgnom : Str) -> A = \s -> lin A (mkAdj s) ;
mkA : (sgnom,sgacc : Str) -> A = \s,_ -> lin A (mkAdj s) ; -- TODO
mkA : (sgnom,sgacc : Str) -> A = \n,a ->
lin A (mkAdj2 n (regNounNomAcc n a)) ;
-- mkA : (kiga : Str) -> (jakda : A) -> A = \kiga,jakda ->
-- jakda ** {s = \\af => kiga ++ jakda.s ! af} ;
} ;

View File

@@ -320,14 +320,16 @@ oper
c2 : Adposition ;
} ;
mkAdj : Str -> Adjective = \sgnom -> {
s = \\d,nc =>
let adj = case d of {
Compar => comparAdj sgnom ;
Superl => "leg" + comparAdj sgnom ;
_ => sgnom } ;
in (mkNoun adj).s ! nc ;
h = (mkNoun sgnom).h ;
mkAdj : Str -> Adjective = \sgnom -> mkAdj2 sgnom (mkNoun sgnom) ;
mkAdj2 : Str -> Noun -> Adjective = \sgnom,adjAsNoun -> adjAsNoun ** {
s = \\d =>
let adj : Noun = case d of {
Compar => mkNoun (comparAdj sgnom) ;
Superl => mkNoun ("leg" + comparAdj sgnom) ;
_ => adjAsNoun } ;
in adj.s ;
} ;
invarAP : Str -> AdjPhrase = \s -> emptyAP ** {s = \\_,_ => s} ;