in tutorial/smart remove the hack that forced the proof object to be resolved

This commit is contained in:
krasimir
2010-10-18 12:28:39 +00:00
parent 775e59dabe
commit e36cc73b0f
3 changed files with 32 additions and 55 deletions

View File

@@ -18,16 +18,16 @@ lincat
Action = {s : VForm => Str ; part : Str} ; Action = {s : VForm => Str ; part : Str} ;
Device = {s : Str ; n : Number} ; Device = {s : Str ; n : Number} ;
Location = SS ; Location = SS ;
Switchable = SS ; Switchable = {} ;
Dimmable = SS ; Dimmable = {} ;
Statelike = SS ; Statelike = {} ;
lin lin
UCommand c = c ; UCommand c = c ;
UQuestion q = q ; UQuestion q = q ;
CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ; CAction _ act dev = ss (act.s ! VImp ++ bothWays act.part dev.s) ;
QAction _ act st dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part ++ st.s) ; QAction _ act _ dev = ss (be dev.n ++ dev.s ++ act.s ! VPart ++ act.part) ;
DKindOne k = { DKindOne k = {
s = "the" ++ k.s ! Sg ; s = "the" ++ k.s ! Sg ;
@@ -45,10 +45,10 @@ lin
light = mkNoun "light" ; light = mkNoun "light" ;
fan = mkNoun "fan" ; fan = mkNoun "fan" ;
switchOn _ proof = mkVerb proof.s "switch" "switched" "on" ; switchOn _ _ = mkVerb "switch" "switched" "on" ;
switchOff _ proof = mkVerb proof.s "switch" "switched" "off" ; switchOff _ _ = mkVerb "switch" "switched" "off" ;
dim _ proof = mkVerb proof.s "dim" "dimmed" [] ; dim _ _ = mkVerb "dim" "dimmed" [] ;
kitchen = ss "kitchen" ; kitchen = ss "kitchen" ;
livingRoom = ss ["living room"] ; livingRoom = ss ["living room"] ;
@@ -61,10 +61,10 @@ oper
} }
} ; } ;
mkVerb : (_,_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \proof,go,gone,away -> { mkVerb : (_,_,_ : Str) -> {s : VForm => Str ; part : Str} = \go,gone,away -> {
s = table { s = table {
VImp => proof++go ; VImp => go ;
VPart => proof++gone VPart => gone
} ; } ;
part = away part = away
} ; } ;
@@ -74,14 +74,5 @@ oper
Pl => "are" Pl => "are"
} ; } ;
hidden : SS = ss [] ;
lin
switchable_light = hidden ;
switchable_fan = hidden ;
dimmable_light = hidden ;
statelike_switchOn _ _ = hidden ;
statelike_switchOff _ _ = hidden ;
} }

View File

@@ -19,17 +19,17 @@ lincat
Action = {s : VForm => Str} ; Action = {s : VForm => Str} ;
Device = {s : Str ; g : Gender ; n : Number} ; Device = {s : Str ; g : Gender ; n : Number} ;
Location = {s : Number => Str ; g : Gender} ; Location = {s : Number => Str ; g : Gender} ;
Switchable = SS ; Switchable = {} ;
Dimmable = SS ; Dimmable = {} ;
Statelike = SS ; Statelike = {} ;
lin lin
UCommand c = c ; UCommand c = c ;
UQuestion q = q ; UQuestion q = q ;
CAction _ act dev = ss (act.s ! VInf ++ dev.s) ; CAction _ act dev = ss (act.s ! VInf ++ dev.s) ;
QAction _ act st dev = QAction _ act _ dev =
ss (dev.s ++ est dev.g dev.n ++ act.s ! VPart dev.g dev.n ++ st.s) ; ss (dev.s ++ est dev.g dev.n ++ act.s ! VPart dev.g dev.n) ;
DKindOne k = { DKindOne k = {
s = defArt k.g ++ k.s ! Sg ; s = defArt k.g ++ k.s ! Sg ;
@@ -50,10 +50,10 @@ lin
light = mkNoun "lampe" Fem ; light = mkNoun "lampe" Fem ;
fan = mkNoun "ventilateur" Masc ; fan = mkNoun "ventilateur" Masc ;
switchOn _ proof = mkVerb proof.s "allumer" "allumé" ; switchOn _ _ = mkVerb "allumer" "allumé" ;
switchOff _ proof = mkVerb proof.s "éteindre" "éteint" ; switchOff _ _ = mkVerb "éteindre" "éteint" ;
dim _ proof = mkVerb proof.s "baisser" "baissé" ; dim _ _ = mkVerb "baisser" "baissé" ;
kitchen = mkNoun "cuisine" Fem ; kitchen = mkNoun "cuisine" Fem ;
livingRoom = mkNoun "salon" Masc ; livingRoom = mkNoun "salon" Masc ;
@@ -67,13 +67,13 @@ oper
g = g g = g
} ; } ;
mkVerb : (_,_,_ : Str) -> {s : VForm => Str} = \proof,venir,venu -> { mkVerb : (_,_ : Str) -> {s : VForm => Str} = \venir,venu -> {
s = table { s = table {
VInf => proof++venir ; VInf => venir ;
VPart Masc Sg => proof++venu ; VPart Masc Sg => venu ;
VPart Masc Pl => proof++venu + "s" ; VPart Masc Pl => venu + "s" ;
VPart Fem Sg => proof++venu + "e" ; VPart Fem Sg => venu + "e" ;
VPart Fem Pl => proof++venu + "es" VPart Fem Pl => venu + "es"
} }
} ; } ;
@@ -86,13 +86,5 @@ oper
defArt : Gender -> Str = \g -> case g of {Masc => "le" ; Fem => "la"} ; defArt : Gender -> Str = \g -> case g of {Masc => "le" ; Fem => "la"} ;
lin
switchable_light = ss [] ;
switchable_fan = ss [] ;
dimmable_light = ss [] ;
statelike_switchOn _ _ = ss [] ;
statelike_switchOff _ _ = ss [] ;
} }

View File

@@ -14,18 +14,21 @@ lincat
Action = V2 ; Action = V2 ;
Device = NP ; Device = NP ;
Location = N ; Location = N ;
Switchable = {} ;
Dimmable = {} ;
Statelike = {} ;
lin lin
UCommand c = mkUtt politeImpForm c ; UCommand c = mkUtt politeImpForm c ;
UQuestion q = mkUtt q ; UQuestion q = mkUtt q ;
CAction _ act dev = mkImp act dev ; CAction _ act dev = mkImp act dev ;
QAction _ act st dev = QAction _ act _ dev =
mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ; ---- show empty proof mkQS anteriorAnt (mkQCl (mkCl dev (passiveVP act))) ;
DKindOne k = mkNP defSgDet k ; DKindOne k = mkNP the_Det k ;
DKindMany k = mkNP defPlDet k ; DKindMany k = mkNP thePl_Det k ;
DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP defSgDet loc)) ; DLoc _ dev loc = mkNP dev (mkAdv in_Prep (mkNP the_Det loc)) ;
light = light_N ; light = light_N ;
fan = fan_N ; fan = fan_N ;
@@ -37,14 +40,5 @@ lin
kitchen = kitchen_N ; kitchen = kitchen_N ;
livingRoom = livingRoom_N ; livingRoom = livingRoom_N ;
lin
switchable_light = ss [] ;
switchable_fan = ss [] ;
dimmable_light = ss [] ;
statelike_switchOn _ _ = ss [] ;
statelike_switchOff _ _ = ss [] ;
} }