Files
gf-core/lib/doc/api-examples.txt

368 lines
18 KiB
Plaintext

mkText : Phr -> (Punct) -> (Text) -> Text -- Does she sleep? Yes.
mkText (mkPhr (mkQS (mkCl she_NP sleep_V))) questMarkPunct (mkText (mkPhr yes_Utt) fullStopPunct)
mkText : Utt -> Text -- Yes.
mkText yes_Utt
mkText : S -> Text -- She slept.
mkText (mkS pastTense (mkCl she_NP sleep_V))
mkText : Cl -> Text -- She sleeps.
mkText (mkCl she_NP sleep_V)
mkText : QS -> Text -- Did she sleep?
mkText (mkQS pastTense (mkQCl (mkCl she_NP sleep_V)))
mkText : (Pol) -> Imp -> Text -- Don't sleep!
mkText negativePol (mkImp sleep_V)
mkText : Text -> Text -> Text -- Where? Here. When? Now!
mkText (mkText (mkPhr (mkUtt where_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt here_Adv)))) (mkText (mkPhr (mkUtt when_IAdv)) questMarkPunct (mkText (mkPhr (mkUtt now_Adv)) exclMarkPunct))
-- emptyText : Text -- (empty text)
--emptyText
-- fullStopPunct : Punct -- .
--fullStopPunct
-- questMarkPunct : Punct -- ?
--questMarkPunct
-- exclMarkPunct : Punct -- !
--exclMarkPunct
-- mkPhr : (PConj) -> Utt -> (Voc) -> Phr -- but sleep, my friend
mkPhr but_PConj (mkUtt (mkImp sleep_V)) (mkVoc (mkNP i_Pron friend_N))
mkPhr : S -> Phr -- she won't sleep
mkPhr (mkS futureTense negativePol (mkCl she_NP sleep_V))
mkPhr : Cl -> Phr -- she sleeps
mkPhr (mkCl she_NP sleep_V)
mkPhr : QS -> Phr -- would she sleep
mkPhr (mkQS conditionalTense (mkQCl (mkCl she_NP sleep_V)))
mkPhr : Imp -> Phr -- sleep
mkPhr (mkImp sleep_V)
mkPConj : Conj -> PConj -- and
mkPConj and_Conj
mkVoc : NP -> Voc -- my friend
mkVoc (mkNP i_Pron friend_N)
mkUtt : S -> Utt -- she slept
mkUtt (mkS pastTense (mkCl she_NP sleep_V))
mkUtt : Cl -> Utt -- she sleeps
mkUtt (mkCl she_NP sleep_V)
mkUtt : QS -> Utt -- who didn't sleep
mkUtt (mkQS pastTense negativePol (mkQCl who_IP sleep_V))
mkUtt : QCl -> Utt -- who sleeps
mkUtt (mkQCl who_IP sleep_V)
mkUtt : (ImpForm) -> (Pol) -> Imp -> Utt -- don't be men
mkUtt pluralImpForm negativePol (mkImp (mkVP man_N))
mkUtt : IP -> Utt -- who
mkUtt who_IP
mkUtt : IAdv -> Utt -- why
mkUtt why_IAdv
mkUtt : NP -> Utt -- this man
mkUtt (mkNP this_Det man_N)
mkUtt : Adv -> Utt -- here
mkUtt here_Adv
mkUtt : VP -> Utt -- to sleep
mkUtt (mkVP sleep_V)
mkUtt : CN -> Utt -- beer
mkUtt (mkCN beer_N)
mkUtt : AP -> Utt -- good
mkUtt (mkAP good_A)
mkUtt : Card -> Utt -- five
mkUtt (mkCard (mkNumeral "5"))
lets_Utt : VP -> Utt -- let's sleep
mkPhr (lets_Utt (mkVP sleep_V))
positivePol : Pol -- she sleeps [default]
mkS positivePol (mkCl she_NP sleep_V)
negativePol : Pol -- she doesn't sleep
mkS negativePol (mkCl she_NP sleep_V)
simultaneousAnt : Ant -- she sleeps [default]
mkS simultaneousAnt (mkCl she_NP sleep_V)
anteriorAnt : Ant -- she has slept --# notpresent
mkS anteriorAnt (mkCl she_NP sleep_V)
presentTense : Tense -- she sleeps [default]
mkS presentTense (mkCl she_NP sleep_V)
pastTense : Tense -- she slept --# notpresent
mkS pastTense (mkCl she_NP sleep_V)
futureTense : Tense -- she will sleep --# notpresent
mkS futureTense (mkCl she_NP sleep_V)
conditionalTense : Tense -- she would sleep --# notpresent
mkS conditionalTense (mkCl she_NP sleep_V)
singularImpForm : ImpForm -- be a man [default]
mkUtt singularImpForm (mkImp (mkVP man_N))
pluralImpForm : ImpForm -- be men
mkUtt pluralImpForm (mkImp (mkVP man_N))
politeImpForm : ImpForm -- be a man [polite singular]
mkUtt politeImpForm (mkImp (mkVP man_N))
mkS : (Tense) -> (Ant) -> (Pol) -> Cl -> S -- she wouldn't have slept
mkS conditionalTense anteriorAnt negativePol (mkCl she_NP sleep_V)
mkS : Conj -> S -> S -> S -- she sleeps and I run
mkS : Conj -> ListS -> S -- she sleeps, I run and you sleep
mkS : Adv -> S -> S -- today, she sleeps
mkCl : NP -> V -> Cl -- she sleeps
mkCl : NP -> V2 -> NP -> Cl -- she loves him
mkCl : NP -> V3 -> NP -> NP -> Cl -- she sends it to him
mkCl : NP -> VV -> VP -> Cl -- she wants to sleep
mkCl : NP -> VS -> S -> Cl -- she says that she sleeps
mkCl : NP -> VQ -> QS -> Cl -- she wonders who sleeps
mkCl : NP -> VA -> AP -> Cl -- she becomes old
mkCl : NP -> V2A -> NP -> AP -> Cl -- she paints it red
mkCl : NP -> V2S -> NP -> S -> Cl -- she tells him that we sleep
mkCl : NP -> V2Q -> NP -> QS -> Cl -- she asks him who sleeps
mkCl : NP -> V2V -> NP -> VP -> Cl -- she forces him to sleep
mkCl : NP -> A -> Cl -- she is old
mkCl : NP -> A -> NP -> Cl -- she is older than him
mkCl : NP -> A2 -> NP -> Cl -- she is married to him
mkCl : NP -> AP -> Cl -- she is very old
mkCl : NP -> NP -> Cl -- she is the man
mkCl : NP -> N -> Cl -- she is a man
mkCl : NP -> CN -> Cl -- she is an old man
mkCl : NP -> Adv -> Cl -- she is here
mkCl : NP -> VP -> Cl -- she always sleeps here
mkCl : N -> Cl -- there is a house
mkCl : CN -> Cl -- there is an old house
mkCl : NP -> Cl -- there are five houses
mkCl : NP -> RS -> Cl -- it is she who sleeps
mkCl : Adv -> S -> Cl -- it is here he sleeps
mkCl : V -> Cl -- it rains
mkCl : VP -> Cl -- it is raining
mkCl : SC -> VP -> Cl
genericCl : VP -> Cl -- one sleeps
mkVP : V -> VP -- sleep
mkVP : V2 -> NP -> VP -- love it
mkVP : V3 -> NP -> NP -> VP -- send a message to him
mkVP : VV -> VP -> VP -- want to run
mkVP : VS -> S -> VP -- know that she runs
mkVP : VQ -> QS -> VP -- wonder if she runs
mkVP : VA -> AP -> VP -- become red
mkVP : V2A -> NP -> AP -> VP -- paint it red
mkVP : V2S -> NP -> S -> VP -- tell him that we sleep
mkVP : V2Q -> NP -> QS -> VP -- ask him who sleeps
mkVP : V2V -> NP -> VP -> VP -- force him to sleep
mkVP : A -> VP -- be warm
mkVP : A -> NP -> VP -- be older than him
mkVP : A2 -> NP -> VP -- be married to him
mkVP : AP -> VP -- be warm
mkVP : N -> VP -- be a man
mkVP : CN -> VP -- be an old man
mkVP : NP -> VP -- be this man
mkVP : Adv -> VP -- be here
mkVP : VP -> Adv -> VP -- sleep here
mkVP : AdV -> VP -> VP -- always sleep
mkVP : VPSlash -> NP -> VP -- paint it black
mkVP : VPSlash -> VP -- paint itself black
mkVP : Comp -> VP -- be warm
reflexiveVP : V2 -> VP -- love itself
passiveVP : V2 -> VP -- be loved
passiveVP : V2 -> NP -> VP -- be loved by her
progressiveVP : VP -> VP -- be sleeping
mkComp : AP -> Comp -- very old
mkComp : NP -> Comp -- this man
mkComp : Adv -> Comp -- here
mkSC : S -> SC -- that he sleeps
mkSC : QS -> SC -- whether he sleeps
mkSC : VP -> SC -- to sleep
mkImp : VP -> Imp -- go
mkImp : V -> Imp -- take it
mkImp : V2 -> NP -> Imp -- come here now
mkNP : Quant -> N -> NP -- this man
mkNP : Quant -> CN -> NP -- this old man
mkNP : Quant -> Num -> CN -> NP -- these five old men
mkNP : Quant -> Num -> N -> NP -- these five men
mkNP : Det -> CN -> NP -- the first old man
mkNP : Det -> N -> NP -- the first man
mkNP : Numeral -> CN -> NP -- fifty old men
mkNP : Numeral -> N -> NP -- fifty men
mkNP : Digits -> CN -> NP -- 51 old men
mkNP : Digits -> N -> NP -- 51 men
mkNP : Card -> CN -> NP -- forty-five old men
mkNP : Card -> N -> NP -- forty-five men
mkNP : Pron -> CN -> NP -- my old man
mkNP : Pron -> N -> NP -- my man
mkNP : PN -> NP -- she
mkNP : Pron -> NP -- he
mkNP : Quant -> NP -- this
mkNP : Quant -> Num -> NP -- these five
mkNP : Det -> NP -- these five best
mkNP : CN -> NP -- old beer
mkNP : N -> NP -- beer
mkNP : Predet -> NP -> NP -- only the man
mkNP : NP -> V2 -> NP -- the man seen
mkNP : NP -> Adv -> NP -- Paris today
mkNP : NP -> RS -> NP -- John, who lives in Paris
mkNP : Conj -> NP -> NP -> NP
mkNP : Conj -> ListNP -> NP
mkDet : Quant -> Det -- this
mkDet : Quant -> Card -> Det -- these five
mkDet : Quant -> Ord -> Det -- the best
mkDet : Quant -> Num -> Ord -> Det -- these five best
mkDet : Quant -> Num -> Det -- these five
mkDet : Card -> Det -- forty
mkDet : Digits -> Det -- 51
mkDet : Numeral -> Det -- five
mkDet : Pron -> Det -- my
mkDet : Pron -> Num -> Det -- my five
the_Det : Det -- the (house)
a_Det : Det -- a (house)
theSg_Det : Det -- the (houses)
thePl_Det : Det -- the (houses)
aSg_Det : Det -- a (house)
aPl_Det : Det -- (houses)
mkQuant : Pron -> Quant -- my
the_Quant : Quant -- the
a_Quant : Quant -- a
mkNum : Str -> Num -- thirty-five (given by "35")
mkNum : Numeral -> Num -- twenty
mkNum : Digits -> Num -- 21
mkNum : Digit -> Num -- five
mkNum : Card -> Num -- almost ten
mkNum : AdN -> Card -> Num -- almost ten
singularNum : Num -- singular
pluralNum : Num -- plural
mkCard : Str -> Card -- thirty-five (given as "35")
mkCard : Numeral -> Card -- twenty
mkCard : Digits -> Card -- 51
mkCard : AdN -> Card -> Card -- almost fifty
mkOrd : Numeral -> Ord -- twentieth
mkOrd : Digits -> Ord -- 51st
mkOrd : Digit -> Ord -- fifth
mkOrd : A -> Ord -- largest
mkAdN : CAdv -> AdN -- more than
mkNumeral : Sub1000 -> Numeral -- coerce 1..999
mkNumeral : Sub1000 -> Sub1000 -> Numeral -- 1000m + n
mkNumeral : Str -> Numeral -- thirty-five (given by "35")
thousandfoldNumeral : Sub1000 -> Numeral -- 1000n
mkSub1000 : Sub100 -> Sub1000 -- coerce 1..99
mkSub1000 : Sub10 -> Sub1000 -- 100n
mkSub1000 : Sub10 -> Sub100 -> Sub1000 -- 100m + n
mkSub100 : Unit -> Sub100 -- coerce 1..9
mkSub100 : Unit -> Unit -> Sub100 -- 10m + n
tenfoldSub100 : Unit -> Sub100 -- 10n
n1_Unit : Unit -- one
n2_Unit : Unit -- two
n3_Unit : Unit -- three
n4_Unit : Unit -- four
n5_Unit : Unit -- five
n6_Unit : Unit -- six
n7_Unit : Unit -- seven
n8_Unit : Unit -- eight
n9_Unit : Unit -- nine
mkDigits : Str -> Digits -- 35 (from string "35")
mkDigits : Dig -> Digits -- 4
mkDigits : Dig -> Digits -> Digits -- 1,233,432
n0_Dig : Dig -- 0
n1_Dig : Dig -- 1
n2_Dig : Dig -- 2
n3_Dig : Dig -- 3
n4_Dig : Dig -- 4
n5_Dig : Dig -- 5
n6_Dig : Dig -- 6
n7_Dig : Dig -- 7
n8_Dig : Dig -- 8
n9_Dig : Dig -- 9
mkCN : N -> CN -- house
mkCN : N2 -> NP -> CN -- mother of John
mkCN : N3 -> NP -> NP -> CN -- distance from this city to Paris
mkCN : N2 -> CN -- mother
mkCN : N3 -> CN -- distance
mkCN : A -> N -> CN -- big house
mkCN : A -> CN -> CN -- big blue house
mkCN : AP -> N -> CN -- very big house
mkCN : AP -> CN -> CN -- very big blue house
mkCN : N -> RS -> CN -- house that she owns
mkCN : CN -> RS -> CN -- big house that she loves
mkCN : N -> Adv -> CN -- house on the hill
mkCN : CN -> Adv -> CN -- big house on the hill
mkCN : CN -> S -> CN -- rule that she sleeps
mkCN : CN -> QS -> CN -- question if she sleeps
mkCN : CN -> VP -> CN -- reason to sleep
mkCN : CN -> SC -> CN -- reason to sleep
mkCN : N -> NP -> CN -- king John
mkCN : CN -> NP -> CN -- old king John
mkAP : A -> AP -- warm
mkAP : A -> NP -> AP -- warmer than Paris
mkAP : A2 -> NP -> AP -- married to her
mkAP : A2 -> AP -- married
mkAP : AP -> S -> AP -- probable that she sleeps
mkAP : AP -> QS -> AP -- uncertain if she sleeps
mkAP : AP -> VP -> AP -- ready to go
mkAP : AP -> SC -> AP -- ready to go
mkAP : AdA -> A -> AP -- very old
mkAP : AdA -> AP -> AP -- very very old
mkAP : Conj -> AP -> AP -> AP -- old and big
mkAP : Conj -> ListAP -> AP -- old, big and warm
mkAP : Ord -> AP -- oldest
mkAP : CAdv -> AP -> NP -> AP -- as old as she
reflAP : A2 -> AP -- married to himself
comparAP : A -> AP -- warmer
mkAdv : A -> Adv -- warmly
mkAdv : Prep -> NP -> Adv -- in the house
mkAdv : Subj -> S -> Adv -- when she sleeps
mkAdv : CAdv -> A -> NP -> Adv -- more warmly than she
mkAdv : CAdv -> A -> S -> Adv -- more warmly than he runs
mkAdv : AdA -> Adv -> Adv -- very warmly
mkAdv : Conj -> Adv -> Adv -> Adv -- here and now
mkAdv : Conj -> ListAdv -> Adv -- with John, here and now
mkQS : (Tense) -> (Ant) -> (Pol) -> QCl -> QS -- who wouldn't have slept
mkQS : Cl -> QS
mkQCl : Cl -> QCl -- does she sleep
mkQCl : IP -> VP -> QCl -- who sleeps
mkQCl : IP -> V -> QCl -- who sleeps
mkQCl : IP -> V2 -> NP -> QCl -- who loves her
mkQCl : IP -> V3 -> NP -> NP -> QCl -- who sends it to her
mkQCl : IP -> VV -> VP -> QCl -- who wants to sleep
mkQCl : IP -> VS -> S -> QCl -- who says that she sleeps
mkQCl : IP -> VQ -> QS -> QCl -- who wonders who sleeps
mkQCl : IP -> VA -> AP -> QCl -- who becomes old
mkQCl : IP -> V2A -> NP -> AP -> QCl -- who paints it red
mkQCl : IP -> V2S -> NP -> S -> QCl -- who tells her that we sleep
mkQCl : IP -> V2Q -> NP -> QS -> QCl -- who asks her who sleeps
mkQCl : IP -> V2V -> NP -> VP -> QCl -- who forces her to sleep
mkQCl : IP -> A -> QCl -- who is old
mkQCl : IP -> A -> NP -> QCl -- who is older than her
mkQCl : IP -> A2 -> NP -> QCl -- who is married to her
mkQCl : IP -> AP -> QCl -- who is very old
mkQCl : IP -> NP -> QCl -- who is the man
mkQCl : IP -> N -> QCl -- who is a man
mkQCl : IP -> CN -> QCl -- who is an old man
mkQCl : IP -> Adv -> QCl -- who is here
mkQCl : IP -> NP -> V2 -> QCl -- who does she love
mkQCl : IP -> ClSlash -> QCl -- who does she today
mkQCl : IAdv -> Cl -> QCl -- why does she sleep
mkQCl : Prep -> IP -> Cl -> QCl -- with whom does she sleep
mkQCl : IAdv -> NP -> QCl -- where is she
mkQCl : IComp -> NP -> QCl -- who is this man
mkQCl : IP -> QCl -- which houses are there
mkIP : IDet -> CN -> IP -- which five big cities
mkIP : IDet -> N -> IP -- which five cities
mkIP : IDet -> IP -- which five
mkIP : IQuant -> CN -> IP -- which big cities
mkIP : IQuant -> Num -> CN -> IP -- which five cities
mkIP : IQuant -> N -> IP -- which city
mkIP : IP -> Adv -> IP -- who in Paris
what_IP : IP -- what (singular)
who_IP : IP -- who (singular)
mkIAdv : Prep -> IP -> IAdv -- in which city
mkIAdv : IAdv -> Adv -> IAdv -- where in Paris
mkIDet : IQuant -> Num -> IDet -- which (songs)
mkIDet : IQuant -> IDet
which_IDet : IDet
whichPl_IDet : IDet
mkRS : (Tense) -> (Ant) -> (Pol) -> RCl -> RS -- that wouldn't have slept
mkRS : Conj -> RS -> RS -> RS -- who sleeps and whose mother runsx
mkRS : Conj -> ListRS -> RS -- who sleeps, whom I see and who sleeps
mkRCl : RP -> VP -> RCl -- that loves she
mkRCl : RP -> ClSlash -> RCl -- whom she loves today
mkRCl : RP -> NP -> V2 -> RCl -- whom she loves
mkRCl : Cl -> RCl -- such that she loves him
which_RP : RP -- which
mkRP : Prep -> NP -> RP -> RP -- all the houses in which
mkSSlash : Temp -> Pol -> ClSlash -> SSlash
mkClSlash : NP -> VPSlash -> ClSlash -- (whom) he sees here
mkClSlash : NP -> V2 -> ClSlash -- (whom) he sees
mkClSlash : NP -> VV -> V2 -> ClSlash -- (whom) he wants to see
mkClSlash : Cl -> Prep -> ClSlash -- (with whom) he sleeps
mkClSlash : ClSlash -> Adv -> ClSlash -- (whom) he sees tomorrow
mkClSlash : NP -> VS -> SSlash -> ClSlash -- (whom) she says that he loves
mkVPSlash : V2 -> VPSlash -- (whom) (she) loves
mkVPSlash : V3 -> NP -> VPSlash -- (whom) (she) gives an apple
mkVPSlash : V2A -> AP -> VPSlash -- (whom) (she) paints red
mkVPSlash : V2Q -> QS -> VPSlash -- (whom) (she) asks who sleeps
mkVPSlash : V2S -> S -> VPSlash -- (whom) (she) tells that we sleep
mkVPSlash : V2V -> VP -> VPSlash -- (whom) (she) forces to sleep
mkVPSlash : VV -> VPSlash -> VPSlash -- want always to buy
mkVPSlash : V2V -> NP -> VPSlash -> VPSlash -- beg me always to buy