forked from GitHub/gf-core
started a Greenlandic project (Kal = Kalaallisut)
This commit is contained in:
73
lib/src/greenlandic/ResKal.gf
Normal file
73
lib/src/greenlandic/ResKal.gf
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
resource ResKal =
|
||||||
|
ParamX [Number, Sg, Pl] **
|
||||||
|
open Prelude in {
|
||||||
|
|
||||||
|
param
|
||||||
|
GPerson = GP1 | GP2 | GP3 | GP4 ;
|
||||||
|
|
||||||
|
Case = Abs | Rel | Instr | All | Loc | Abl | Vial | Aequal ;
|
||||||
|
|
||||||
|
|
||||||
|
oper
|
||||||
|
|
||||||
|
-- p. Bjørnum, p. 71
|
||||||
|
caseEnding : Number -> Case -> Str = \n,c ->
|
||||||
|
let mn = case n of {Sg => "m" ; Pl => "n"}
|
||||||
|
in case <n,c> of {
|
||||||
|
<Sg,Abs> => [] ;
|
||||||
|
<Sg,Rel> => "p" ;
|
||||||
|
<_,Instr> => mn + "ik" ;
|
||||||
|
<_,All> => mn + "ut" ;
|
||||||
|
<_,Loc> => mn + "i" ;
|
||||||
|
<_,Abl> => mn + "it" ; --- miit, minngaanniit
|
||||||
|
<Sg,Vial> => "kkut" ;
|
||||||
|
<_, Aequal> => "tut" ; --- sut
|
||||||
|
<Pl,Abs|Rel> => "t" ;
|
||||||
|
<Pl,Vial> => "tigut" --- sigut
|
||||||
|
} ;
|
||||||
|
|
||||||
|
Noun : Type = {
|
||||||
|
s : Number => Case => Str
|
||||||
|
} ;
|
||||||
|
|
||||||
|
|
||||||
|
{-
|
||||||
|
-- p. 76
|
||||||
|
mkNoun : (sgAbs, sgRel, plAbs, sgInstr : Str) -> Noun =
|
||||||
|
\sgAbs, sgRel, plAbs, sgInstr -> {
|
||||||
|
s = \\
|
||||||
|
-}
|
||||||
|
|
||||||
|
-- p. 190
|
||||||
|
vowelNoun : Str -> Noun = \illu -> {
|
||||||
|
s = \\n,c => illu + caseEnding n c ;
|
||||||
|
} ;
|
||||||
|
|
||||||
|
-- examples
|
||||||
|
illu_Noun = vowelNoun "illu" ; -- house
|
||||||
|
aja_Noun = vowelNoun "aja" ; -- aunt (moster)
|
||||||
|
ini_Noun = vowelNoun "ini" ; -- hut
|
||||||
|
|
||||||
|
-- p. 197
|
||||||
|
qWeakNoun : Str -> Noun = \qimmeq ->
|
||||||
|
let
|
||||||
|
qimmi : Str = case qimmeq of {
|
||||||
|
qimm + "eq" => qimm + "i" ; -- p. 197
|
||||||
|
mee + "raq" => mee + "qqa" ; -- p. 199 --- for inflection with gemination
|
||||||
|
igal + "aaq" => igal + "aa" ; -- p. 203 --- for double vowels
|
||||||
|
_ => init qimmeq ----
|
||||||
|
}
|
||||||
|
in {
|
||||||
|
s = \\n,c => case <n,c> of {
|
||||||
|
<Sg,Abs> => qimmeq ;
|
||||||
|
_ => qimmi + caseEnding n c
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
|
qimmeq_Noun = qWeakNoun "qimmeq" ; -- dog
|
||||||
|
meeraq_Noun = qWeakNoun "meeraq" ; -- child
|
||||||
|
igalaaq_Noun = qWeakNoun "igalaaq" ; -- window
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user