concrete AgreementSwe of Agreement = open MorphologySwe in { lincat NP = {s: Str; a: NPAgreement} ; CN = Noun ; N = Noun ; A = Adjective ; Det = {s : Gender => Str; n: Number;} ; -- and possible Definiteness lin -- DetCN d cn = { -- s = d.s ++ (cn.s ! d.n) ; -- n = d.n ; -- } ; -- AdjCN a cn = { -- s = \\n => let agr ? ? cn.g = NPAgr in (a.s ! agr) ++ (cn.s ! n) ; -- } ; UseN n = n ; cat_N = mk4Noun "katt" "katten" "katter" "katterna" ; house_N = mk4Noun "hus" "huset" "hus" "husen" ; black_A = mk3Adjective "svart" "svart" "svarta" ; big_A = mk3Adjective "stor" "stort" "stora" ; this_Det = { s = table { Com => "den här" ; Neut => "det här" } ; n = Sg ; d = Def ; } ; these_Det = { s = table { Com => "de här" ; Neut => "de här" }; n = Pl ; } ; }