forked from GitHub/gf-core
35 lines
703 B
Plaintext
35 lines
703 B
Plaintext
resource Roles = {
|
|
|
|
param
|
|
Gender = Male | Female ;
|
|
Politeness = PPolite | PFamiliar ;
|
|
|
|
oper
|
|
RolePhrase : Type = {s : Politeness => Gender => Gender => Str} ;
|
|
|
|
politeDistinct : (_,_ : Str) -> RolePhrase = \pol,fam -> {
|
|
s = table {
|
|
PPolite => \\_,_ => pol ;
|
|
PFamiliar => \\_,_ => fam
|
|
}
|
|
} ;
|
|
|
|
speakerDistinct : (_,_ : Str) -> RolePhrase = \mal,fem -> {
|
|
s = \\p,s,h => case s of {
|
|
Male => mal ;
|
|
Female => fem
|
|
}
|
|
} ;
|
|
|
|
hearerDistinct : (_,_ : Str) -> RolePhrase = \mal,fem -> {
|
|
s = \\p,s,h => case h of {
|
|
Male => mal ;
|
|
Female => fem
|
|
}
|
|
} ;
|
|
|
|
roleNeutral : Str -> RolePhrase = \s -> {
|
|
s = \\_,_,_ => s
|
|
} ;
|
|
}
|