forked from GitHub/gf-core
fixed bug leading to looping in Devel.Compute
This commit is contained in:
@@ -114,7 +114,7 @@ lin
|
||||
leather_N = mkN "nahka" ; --- nahan
|
||||
leave_V2 = mkV2 (mkV "jättää") ;
|
||||
like_V2 = mkV2 (mkV "pitää") elative ;
|
||||
listen_V2 = mkV2 (mkV "kuunnella" "kuuntelen" "kuunteli") partitive ;
|
||||
listen_V2 = mkV2 (mkV "kuunnella" "kuunteli") partitive ;
|
||||
live_V = mkV "elää" ;
|
||||
long_A = mkA (mkN "pitkä") "pitempi" "pisin" ;
|
||||
lose_V2 = mkV2 (mkV "hävitä" "hävisi") ; --- hukata
|
||||
@@ -247,7 +247,7 @@ lin
|
||||
dull_A = mkA (mkN "tylsä") "tylsempi" "tylsin" ;
|
||||
full_A = mkA (mk3N "täysi" "täyden" "täysiä") "täydempi" "täysin" ;
|
||||
heavy_A = mkA "raskas" ;
|
||||
near_A = mkA "läheinen" ;
|
||||
near_A = mkA (mkN "läheinen") ;
|
||||
rotten_A = mkA "mätä" ;
|
||||
round_A = mkA "pyöreä" ;
|
||||
sharp_A = mkA "terävä" ;
|
||||
@@ -338,8 +338,8 @@ lin
|
||||
hold_V2 = mkV2 (mkV "pitää") cpartitive ;
|
||||
hunt_V2 = mkV2 (mkV "metsästää") cpartitive ;
|
||||
kill_V2 = mkV2 (mkV "tappaa") ;
|
||||
laugh_V = mkV "nauraa" "nauran" "nauroi" ;
|
||||
lie_V = mkV "maata" "makaan" "makasi" ;
|
||||
laugh_V = mkV "nauraa" "nauroi" ;
|
||||
lie_V = mkV "maata" "makasi" ;
|
||||
play_V = mkV "pelata" ;
|
||||
pull_V2 = mkV2 (mkV "vetää") ;
|
||||
push_V2 = mkV2 (mkV "työntää") ;
|
||||
@@ -376,7 +376,7 @@ lin
|
||||
|
||||
john_PN = mkPN "Jussi" ;
|
||||
question_N = mkN "kysymys" ;
|
||||
ready_A = mkA "valmis" ;
|
||||
ready_A = mkA (mkN "valmis") ;
|
||||
reason_N = mkN "syy" ;
|
||||
today_Adv = mkAdv "tänään" ;
|
||||
uncertain_A = mkA "epävarma" ;
|
||||
|
||||
@@ -141,13 +141,13 @@ oper
|
||||
-- a table.
|
||||
-- The worst case needs twelve forms, as shown in the following.
|
||||
|
||||
mkV = overload {
|
||||
mkV : (huutaa : Str) -> V = mk1V ;
|
||||
mkV : (huutaa,huusi : Str) -> V = mk2V ;
|
||||
mkV : (huutaa,huudan,huusi : Str) -> V = \x,_,y -> mk2V x y ; ----
|
||||
mkV : overload {
|
||||
mkV : (huutaa : Str) -> V ;
|
||||
mkV : (huutaa,huusi : Str) -> V ;
|
||||
mkV : (huutaa,huudan,huusi : Str) -> V ;
|
||||
mkV : (
|
||||
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
|
||||
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V = mk12V ;
|
||||
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V ;
|
||||
} ;
|
||||
|
||||
-- All the patterns above have $nominative$ as subject case.
|
||||
@@ -416,19 +416,24 @@ oper
|
||||
mkN3 = \n,c,e -> n ** {c2 = c ; c3 = e ; lock_N3 = <>} ;
|
||||
|
||||
mkPN = overload {
|
||||
mkPN : Str -> PN = \s -> {s = \\c => (mk1N s).s ! NCase Sg c ; lock_PN = <>} ;
|
||||
mkPN : Str -> PN = mkPN_1 ;
|
||||
mkPN : N -> PN = \s -> {s = \\c => s.s ! NCase Sg c ; lock_PN = <>} ;
|
||||
} ;
|
||||
|
||||
mkPN_1 : Str -> PN = \s -> {s = \\c => (mk1N s).s ! NCase Sg c ; lock_PN = <>} ;
|
||||
|
||||
-- adjectives
|
||||
|
||||
mkA = overload {
|
||||
mkA : Str -> A = \s -> noun2adjDeg (mk1N s) ** {lock_A = <>} ;
|
||||
-- mkA : Str -> A = \x -> noun2adjDeg (mk1N x) ** {lock_A = <>} ;
|
||||
mkA : Str -> A = mkA_1 ;
|
||||
mkA : N -> A = \n -> noun2adjDeg n ** {lock_A = <>} ;
|
||||
mkA : N -> (kivempaa,kivinta : Str) -> A = regAdjective ;
|
||||
-- mkA : (hyva,parempi,paras : N) -> (hyvin,paremmin,parhaiten : Str) -> A ;
|
||||
} ;
|
||||
|
||||
mkA_1 : Str -> A = \x -> noun2adjDeg (mk1N x) ** {lock_A = <>} ;
|
||||
|
||||
-- auxiliaries
|
||||
mkAdjective : (_,_,_ : Adj) -> A = \hyva,parempi,paras ->
|
||||
{s = table {
|
||||
@@ -454,9 +459,18 @@ oper
|
||||
|
||||
-- verbs
|
||||
|
||||
mk1V : Str -> V = \s -> vforms2V (vForms1 s) ** {sc = NPCase Nom ; lock_V = <>} ;
|
||||
mk2V : (_,_ : Str) -> V = \s,t -> vforms2V (vForms2 s t) ** {sc = NPCase Nom ; lock_V = <>} ;
|
||||
mkV = overload {
|
||||
mkV : (huutaa : Str) -> V = mk1V ;
|
||||
mkV : (huutaa,huusi : Str) -> V = mk2V ;
|
||||
mkV : (huutaa,huudan,huusi : Str) -> V = mk3V ;
|
||||
mkV : (
|
||||
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
|
||||
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V = mk12V ;
|
||||
} ;
|
||||
|
||||
mk1V : Str -> V = \s -> vforms2V (vForms1 s) ** {sc = NPCase Nom ; lock_V = <>} ;
|
||||
mk2V : (_,_ : Str) -> V = \x,y -> vforms2V (vForms2 x y) ** {sc = NPCase Nom ; lock_V = <>} ;
|
||||
mk3V : (huutaa,huudan,huusi : Str) -> V = \x,_,y -> mk2V x y ; ----
|
||||
mk12V : (
|
||||
huutaa,huudan,huutaa,huutavat,huutakaa,huudetaan,
|
||||
huusin,huusi,huusisi,huutanut,huudettu,huutanee : Str) -> V =
|
||||
|
||||
Reference in New Issue
Block a user