mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-20 08:32:50 -06:00
Maltese RG: small fixes; moved Maybe to ../prelude
This commit is contained in:
@@ -10,10 +10,6 @@ concrete AllMlt of AllMltAbs =
|
|||||||
LangMlt,
|
LangMlt,
|
||||||
IrregMlt,
|
IrregMlt,
|
||||||
ExtraMlt
|
ExtraMlt
|
||||||
** {} ;
|
** {
|
||||||
|
|
||||||
{-
|
} ;
|
||||||
IrregMlt-[
|
|
||||||
blow_V,burn_V,come_V,dig_V,fall_V,fly_V,freeze_V,go_V,lie_V,run_V,
|
|
||||||
sew_V,sing_V,sit_V,sleep_V,spit_V,stand_V,swell_V,swim_V,think_V],
|
|
||||||
-}
|
|
||||||
|
|||||||
@@ -1730,7 +1730,7 @@ concrete DictMlt of DictMltAbs = CatMlt ** open ParadigmsMlt in {
|
|||||||
tharrek_HRK_5_8364_V = mkV_V "tħarrek" (mkRoot "ħ-r-k") ;
|
tharrek_HRK_5_8364_V = mkV_V "tħarrek" (mkRoot "ħ-r-k") ;
|
||||||
horom_HRM_1_8365_V = mkV "ħorom" (mkRoot "ħ-r-m") ;
|
horom_HRM_1_8365_V = mkV "ħorom" (mkRoot "ħ-r-m") ;
|
||||||
harrem_HRM_2_8366_V = mkV_II "ħarrem" (mkRoot "ħ-r-m") ;
|
harrem_HRM_2_8366_V = mkV_II "ħarrem" (mkRoot "ħ-r-m") ;
|
||||||
haraq_HRQ_1_8367_V = pastPartV "maħruq" (mkV "ħaraq" (mkRoot "ħ-r-q")) ;
|
haraq_HRQ_1_8367_V = pastPartV "maħruq" (mkV "ħaraq" "aħraq" (mkRoot "ħ-r-q")) ;
|
||||||
harraq_HRQ_2_8368_V = mkV_II "ħarraq" (mkRoot "ħ-r-q") ;
|
harraq_HRQ_2_8368_V = mkV_II "ħarraq" (mkRoot "ħ-r-q") ;
|
||||||
tharraq_HRQ_5_8369_V = mkV_V "tħarraq" (mkRoot "ħ-r-q") ;
|
tharraq_HRQ_5_8369_V = mkV_V "tħarraq" (mkRoot "ħ-r-q") ;
|
||||||
nharaq_HRQ_7_8370_V = mkV_VII "ħaraq" "nħaraq" (mkRoot "ħ-r-q") ;
|
nharaq_HRQ_7_8370_V = mkV_VII "ħaraq" "nħaraq" (mkRoot "ħ-r-q") ;
|
||||||
@@ -2341,7 +2341,7 @@ concrete DictMlt of DictMltAbs = CatMlt ** open ParadigmsMlt in {
|
|||||||
niffed_NFD_2_8963_V = mkV_II "niffed" (mkRoot "n-f-d") ;
|
niffed_NFD_2_8963_V = mkV_II "niffed" (mkRoot "n-f-d") ;
|
||||||
tniffed_NFD_5_8964_V = mkV_V "tniffed" (mkRoot "n-f-d") ;
|
tniffed_NFD_5_8964_V = mkV_V "tniffed" (mkRoot "n-f-d") ;
|
||||||
ntnifed_NFD_7_8965_V = mkV_VII "nifed" "ntnifed" (mkRoot "n-f-d") ;
|
ntnifed_NFD_7_8965_V = mkV_VII "nifed" "ntnifed" (mkRoot "n-f-d") ;
|
||||||
nefah_NFH_1_8966_V = pastPartV "minfuħ" (mkV "nefaħ" (mkRoot "n-f-ħ")) ;
|
nefah_NFH_1_8966_V = pastPartV "minfuħ" (mkV "nefaħ" "onfoħ" (mkRoot "n-f-ħ")) ;
|
||||||
neffah_NFH_2_8967_V = mkV_II "neffaħ" (mkRoot "n-f-ħ") ;
|
neffah_NFH_2_8967_V = mkV_II "neffaħ" (mkRoot "n-f-ħ") ;
|
||||||
tneffah_NFH_5_8968_V = mkV_V "tneffaħ" (mkRoot "n-f-ħ") ;
|
tneffah_NFH_5_8968_V = mkV_V "tneffaħ" (mkRoot "n-f-ħ") ;
|
||||||
ntnefah_NFH_7_8969_V = mkV_VII "nefaħ" "ntnefaħ" (mkRoot "n-f-ħ") ;
|
ntnefah_NFH_7_8969_V = mkV_VII "nefaħ" "ntnefaħ" (mkRoot "n-f-ħ") ;
|
||||||
@@ -3151,7 +3151,7 @@ concrete DictMlt of DictMltAbs = CatMlt ** open ParadigmsMlt in {
|
|||||||
sarrar_SRR_2_9763_V = mkV_II "sarrar" (mkRoot "s-r-r") ;
|
sarrar_SRR_2_9763_V = mkV_II "sarrar" (mkRoot "s-r-r") ;
|
||||||
ssarrar_SRR_5_9764_V = mkV_V "ssarrar" (mkRoot "s-r-r") ;
|
ssarrar_SRR_5_9764_V = mkV_V "ssarrar" (mkRoot "s-r-r") ;
|
||||||
nsarr_SRR_7_9765_V = mkV_VII "sarr" "nsarr" (mkRoot "s-r-r") ;
|
nsarr_SRR_7_9765_V = mkV_VII "sarr" "nsarr" (mkRoot "s-r-r") ;
|
||||||
sata'_STGH_1_9766_V = mkV "sata'" (mkRoot "s-t-għ") ;
|
sata'_STGH_1_9766_V = mkV "seta'" (mkRoot "s-t-għ") ;
|
||||||
settah_STH_2_9767_V = mkV_II "settaħ" (mkRoot "s-t-ħ") ;
|
settah_STH_2_9767_V = mkV_II "settaħ" (mkRoot "s-t-ħ") ;
|
||||||
ssettah_STH_5_9768_V = mkV_V "ssettaħ" (mkRoot "s-t-ħ") ;
|
ssettah_STH_5_9768_V = mkV_V "ssettaħ" (mkRoot "s-t-ħ") ;
|
||||||
satar_STR_1_9769_V = mkV "satar" (mkRoot "s-t-r") ;
|
satar_STR_1_9769_V = mkV "satar" (mkRoot "s-t-r") ;
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ concrete LexiconMlt of Lexicon = CatMlt **
|
|||||||
war_N = mkN "gwerra" "gwerrer" ;
|
war_N = mkN "gwerra" "gwerrer" ;
|
||||||
water_N = mkN "ilma" "ilmijiet" masculine ;
|
water_N = mkN "ilma" "ilmijiet" masculine ;
|
||||||
wife_N = mkN "mara" "nisa" ;
|
wife_N = mkN "mara" "nisa" ;
|
||||||
wind_N = mkN "riħ" "rjieħ" "rjiħat" ;
|
wind_N = mkN "riħ" "rjieħ" ;
|
||||||
window_N = mkN "tieqa" "twieqi" ;
|
window_N = mkN "tieqa" "twieqi" ;
|
||||||
wine_N = mkNColl "nbid" "nbejjed" ;
|
wine_N = mkNColl "nbid" "nbejjed" ;
|
||||||
wing_N = mkN "ġewnaħ" "ġwienaħ" ;
|
wing_N = mkN "ġewnaħ" "ġwienaħ" ;
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
{-
|
|
||||||
Maybe type, modelled on Haskell
|
|
||||||
John J. Camilleri
|
|
||||||
-}
|
|
||||||
resource Maybe = open Prelude, Predef in {
|
|
||||||
|
|
||||||
oper
|
|
||||||
|
|
||||||
-- Constructors
|
|
||||||
Maybe : (t : Type) -> Type = \t -> {
|
|
||||||
inner : t ;
|
|
||||||
exists : Bool
|
|
||||||
} ;
|
|
||||||
Just : (T : Type) -> T -> Maybe T = \_,t -> {
|
|
||||||
inner = t ;
|
|
||||||
exists = True
|
|
||||||
} ;
|
|
||||||
-- Nothing : (T : Type) -> Maybe T = \_ -> {
|
|
||||||
-- inner = variants {} ;
|
|
||||||
-- exists = False
|
|
||||||
-- } ;
|
|
||||||
Nothing : (T : Type) -> T -> Maybe T = \_,t -> {
|
|
||||||
inner = t ;
|
|
||||||
exists = False
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- Functions
|
|
||||||
exists : (T : Type) -> Maybe T -> Bool = \_,m -> m.exists ;
|
|
||||||
fromJust : (T : Type) -> Maybe T -> T = \_,m -> case m.exists of {
|
|
||||||
True => m.inner ;
|
|
||||||
False => Predef.error "Called fromJust with Nothing"
|
|
||||||
} ;
|
|
||||||
fromMaybe : (T : Type) -> T -> Maybe T -> T = \_,n,m -> case m.exists of {
|
|
||||||
True => m.inner ;
|
|
||||||
False => n
|
|
||||||
} ;
|
|
||||||
|
|
||||||
-- Instance with Str, since it's common
|
|
||||||
MaybeS = Maybe Str ;
|
|
||||||
JustS : Str -> Maybe Str = \r -> Just Str r ;
|
|
||||||
-- NothingS : Maybe Str = Nothing Str ;
|
|
||||||
NothingS : Maybe Str = Nothing Str "" ;
|
|
||||||
|
|
||||||
existsS : Maybe Str -> Bool = exists Str ;
|
|
||||||
fromJustS : Maybe Str -> Str = fromJust Str ;
|
|
||||||
fromMaybeS : Str -> Maybe Str -> Str = fromMaybe Str ;
|
|
||||||
|
|
||||||
-- Example
|
|
||||||
-- j : MaybeS = JustS "hello" ;
|
|
||||||
-- n : MaybeS = NothingS ;
|
|
||||||
-- s : Str = fromJustS j;
|
|
||||||
-- b : Bool = existsS j ;
|
|
||||||
-- r : Str = if_then_Str (existsS j) ("present") ("not present") ;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -110,10 +110,10 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
|||||||
vowelChangesStrong : Pattern -> (Number => Pattern) = \patt ->
|
vowelChangesStrong : Pattern -> (Number => Pattern) = \patt ->
|
||||||
table {
|
table {
|
||||||
Sg => case <patt.V1,patt.V2> of {
|
Sg => case <patt.V1,patt.V2> of {
|
||||||
<"a","a"> => mkPattern "o" "o" ; -- RABAT > ORBOT (but: ITLOB, ILGĦAB, AĦBAT)
|
<"a","a"> => mkPattern "o" "o" ; -- RABAT > ORBOT (but: ILGĦAB, AĦBAT)
|
||||||
<"a","e"> => mkPattern "a" "e" ; -- GĦAMEL > AGĦMEL
|
<"a","e"> => mkPattern "a" "e" ; -- GĦAMEL > AGĦMEL
|
||||||
<"e","e"> => mkPattern "i" "e" ; -- FEHEM > IFHEM
|
<"e","e"> => mkPattern "i" "e" ; -- FEHEM > IFHEM
|
||||||
<"e","a"> => mkPattern "i" "a" ; -- FETAĦ > IFTAĦ
|
<"e","a"> => mkPattern "i" "a" ; -- FETAĦ > IFTAĦ (but: ONFOĦ)
|
||||||
<"i","e"> => mkPattern "i" "e" ; -- KITEB > IKTEB
|
<"i","e"> => mkPattern "i" "e" ; -- KITEB > IKTEB
|
||||||
<"o","o"> => mkPattern "o" "o" -- GĦOĠOB > OGĦĠOB
|
<"o","o"> => mkPattern "o" "o" -- GĦOĠOB > OGĦĠOB
|
||||||
};
|
};
|
||||||
@@ -168,7 +168,7 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
|||||||
vowelChangesLiquidMedial : Pattern -> (Number => Pattern) = \patt ->
|
vowelChangesLiquidMedial : Pattern -> (Number => Pattern) = \patt ->
|
||||||
table {
|
table {
|
||||||
Sg => case <patt.V1,patt.V2> of {
|
Sg => case <patt.V1,patt.V2> of {
|
||||||
<"a","a"> => mkPattern "i" "o" ; -- TALAB > ITLOB
|
<"a","a"> => mkPattern "i" "o" ; -- TALAB > ITLOB but ĦARAQ > AĦRAQ
|
||||||
<"a","e"> => mkPattern "o" "o" ; -- ĦAREĠ > OĦROĠ
|
<"a","e"> => mkPattern "o" "o" ; -- ĦAREĠ > OĦROĠ
|
||||||
<"e","e"> => mkPattern "e" "e" ; -- ĦELES > EĦLES
|
<"e","e"> => mkPattern "e" "e" ; -- ĦELES > EĦLES
|
||||||
<"e","a"> => mkPattern "i" "o" ; -- ŻELAQ > IŻLOQ
|
<"e","a"> => mkPattern "i" "o" ; -- ŻELAQ > IŻLOQ
|
||||||
@@ -233,13 +233,19 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
|||||||
-- Params: Root, Pattern
|
-- Params: Root, Pattern
|
||||||
conjAssimilativePerf : Root -> Pattern -> (VAgr => Str) = \root,patt ->
|
conjAssimilativePerf : Root -> Pattern -> (VAgr => Str) = \root,patt ->
|
||||||
let
|
let
|
||||||
wasal = root.C1 + patt.V1 + root.C2 + patt.V2 + root.C3 ;
|
wasal = case root.C3 of {
|
||||||
|
"għ" => root.C1 + patt.V1 + root.C2 + patt.V2 + "j" ;
|
||||||
|
_ => root.C1 + patt.V1 + root.C2 + patt.V2 + root.C3
|
||||||
|
} ;
|
||||||
wasl = root.C1 + patt.V1 + root.C2 + root.C3 ;
|
wasl = root.C1 + patt.V1 + root.C2 + root.C3 ;
|
||||||
in
|
in
|
||||||
table {
|
table {
|
||||||
AgP1 Sg => wasal + "t" ; -- Jiena WASALT
|
AgP1 Sg => wasal + "t" ; -- Jiena WASALT
|
||||||
AgP2 Sg => wasal + "t" ; -- Inti WASALT
|
AgP2 Sg => wasal + "t" ; -- Inti WASALT
|
||||||
AgP3Sg Masc=> wasal ; -- Huwa WASAL
|
AgP3Sg Masc=> case root.C3 of {
|
||||||
|
"għ" => root.C1 + patt.V1 + root.C2 + patt.V2 + "'" ; -- Huwa WAQA'
|
||||||
|
_ => wasal -- Huwa WASAL
|
||||||
|
} ;
|
||||||
AgP3Sg Fem => wasl + "et" ; -- Hija WASLET
|
AgP3Sg Fem => wasl + "et" ; -- Hija WASLET
|
||||||
AgP1 Pl => wasal + "na" ; -- Aħna WASALNA
|
AgP1 Pl => wasal + "na" ; -- Aħna WASALNA
|
||||||
AgP2 Pl => wasal + "tu" ; -- Intom WASALTU
|
AgP2 Pl => wasal + "tu" ; -- Intom WASALTU
|
||||||
@@ -254,7 +260,7 @@ resource MorphoMlt = ResMlt ** open Prelude in {
|
|||||||
-- Params: Root, Pattern
|
-- Params: Root, Pattern
|
||||||
conjAssimilativeImp : Root -> Pattern -> (Number => Str) = \root,patt ->
|
conjAssimilativeImp : Root -> Pattern -> (Number => Str) = \root,patt ->
|
||||||
table {
|
table {
|
||||||
Sg => patt.V1 + root.C2 + patt.V2 + root.C3 ; -- Inti: ASAL
|
Sg => patt.V1 + root.C2 + patt.V2 + case root.C3 of { "għ" => "'" ; _ => root.C3 } ; -- Inti: ASAL
|
||||||
Pl => patt.V1 + root.C2 + root.C3 + "u" -- Intom: ASLU
|
Pl => patt.V1 + root.C2 + root.C3 + "u" -- Intom: ASLU
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
|||||||
@@ -489,10 +489,12 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
|
|||||||
ftahn + "a" => ftahn + "ie" ;
|
ftahn + "a" => ftahn + "ie" ;
|
||||||
fet + h@#Cns + "et" => fet + h + "it" ;
|
fet + h@#Cns + "et" => fet + h + "it" ;
|
||||||
fet + "aħ" => fet + "ħ" ;
|
fet + "aħ" => fet + "ħ" ;
|
||||||
|
qat + "a'" => qat + "a" ; -- waqa' -> ma waqax
|
||||||
_ => s
|
_ => s
|
||||||
} ;
|
} ;
|
||||||
ftahni : Str = case s of {
|
ftahni : Str = case s of {
|
||||||
ftahn + "a" => ftahn + "i" ;
|
ftahn + "a" => ftahn + "i" ;
|
||||||
|
qat + "a'" => qat + "agħ" ;
|
||||||
_ => ftahnie
|
_ => ftahnie
|
||||||
} ;
|
} ;
|
||||||
in {
|
in {
|
||||||
@@ -504,10 +506,15 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
|
|||||||
jiftah : Str = s ;
|
jiftah : Str = s ;
|
||||||
jifth : Str = case s of {
|
jifth : Str = case s of {
|
||||||
jift + "aħ" => jift + "ħ" ;
|
jift + "aħ" => jift + "ħ" ;
|
||||||
|
jaq + "a'" => jaq + "a" ; -- jaqa' -> ma jaqax
|
||||||
_ => s
|
_ => s
|
||||||
} ;
|
} ;
|
||||||
|
jaqagh : Str = case s of {
|
||||||
|
jaq + "a'" => jaq + "agħ" ;
|
||||||
|
_ => jifth
|
||||||
|
} ;
|
||||||
in {
|
in {
|
||||||
s1 = jiftah ; s2 = jifth ; s3 = jifth ;
|
s1 = jiftah ; s2 = jifth ; s3 = jaqagh ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- Convert old verb form table into one with stem variants
|
-- Convert old verb form table into one with stem variants
|
||||||
@@ -515,6 +522,7 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
|
|||||||
\\vf => case vf of {
|
\\vf => case vf of {
|
||||||
VPerf _ => stemVariantsPerf (tbl ! vf) ;
|
VPerf _ => stemVariantsPerf (tbl ! vf) ;
|
||||||
VImpf _ => stemVariantsImpf (tbl ! vf) ;
|
VImpf _ => stemVariantsImpf (tbl ! vf) ;
|
||||||
|
VImp _ => stemVariantsImpf (tbl ! vf) ;
|
||||||
_ => mkVerbStems (tbl ! vf)
|
_ => mkVerbStems (tbl ! vf)
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -591,7 +599,7 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
|
|||||||
|
|
||||||
oper
|
oper
|
||||||
|
|
||||||
--- TEMP FUNCTION
|
-- Pick the correct form of a verb, adding aux
|
||||||
pickVerbForm : {s : VForm => VerbStems} -> Tense -> Anteriority -> Polarity -> Agr -> VerbParts = \verb,tense,ant,pol,agr ->
|
pickVerbForm : {s : VForm => VerbStems} -> Tense -> Anteriority -> Polarity -> Agr -> VerbParts = \verb,tense,ant,pol,agr ->
|
||||||
let
|
let
|
||||||
vagr : VAgr = toVAgr agr ;
|
vagr : VAgr = toVAgr agr ;
|
||||||
@@ -920,9 +928,9 @@ resource ResMlt = ParamX ** open Prelude, Predef, Maybe in {
|
|||||||
ind = NullAgr ;
|
ind = NullAgr ;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
-- There is no infinitive in Maltese; use perfective
|
-- There is no infinitive in Maltese; use imperfective
|
||||||
infVP : VerbPhrase -> Anteriority -> Polarity -> Agr -> Str = \vp,ant,pol,agr ->
|
infVP : VerbPhrase -> Anteriority -> Polarity -> Agr -> Str = \vp,ant,pol,agr ->
|
||||||
joinVP vp Past ant pol agr ++ vp.s2 ! agr ;
|
joinVP vp Pres ant pol agr ++ vp.s2 ! agr ;
|
||||||
|
|
||||||
Aux = {
|
Aux = {
|
||||||
s : Tense => Polarity => Str ;
|
s : Tense => Polarity => Str ;
|
||||||
|
|||||||
Reference in New Issue
Block a user