module Language.Drasil.Chunk.Concept.NamedCombinators (
the, theGen,
a_, a_Gen,
and_, and_PS, and_PP, and_TGen, and_Gen,
andIts, andThe,
of_, of_NINP, of_PSNPNI, of_PS, ofA, ofAPS, ofThe, ofThePS,
the_ofThe, the_ofThePS, onThe, onThePS, onThePP,
inThe, inThePS, inThePP, isThe, toThe,
for, forTGen,
in_, in_PS, inA,
is, with,
compoundNC, compoundNCPP, compoundNCGen,
compoundNCPS, compoundNCPSPP, compoundNCGenP,
combineNINP, combineNPNI, combineNINI) where
import Language.Drasil.Chunk.NamedIdea ( IdeaDict, ncUID )
import Language.Drasil.Classes ( Idea, NamedIdea(..) )
import Language.Drasil.Development.Sentence ( phrase, plural )
import Language.Drasil.NounPhrase
( NP,
CapitalizationRule(CapWords, Replace, CapFirst),
NounPhrase(phraseNP, pluralNP),
nounPhrase'',
compoundPhrase,
compoundPhrase'',
compoundPhrase''' )
import Language.Drasil.Sentence ( Sentence(S), (+:+) )
import Language.Drasil.UID ( (+++!) )
import qualified Language.Drasil.NounPhrase as D
( NounPhrase(pluralNP, phraseNP) )
import Control.Lens ((^.))
import qualified Language.Drasil.Sentence.Combinators as S (and_, andIts, andThe, of_, ofA,
ofThe, the_ofThe, onThe, for, inThe, in_, is, toThe, isThe)
and_ :: (NamedIdea c, NamedIdea d) => c -> d -> NP
and_ :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
and_ c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
and_PS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
and_PS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
and_PS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
and_PP :: (NamedIdea c, NamedIdea d) => c -> d -> NP
and_PP :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
and_PP c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
and_Gen :: (c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
and_Gen :: forall c d. (c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
and_Gen c -> Sentence
f1 d -> Sentence
f2 c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
f1 c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
f2 d
t2)
(c -> Sentence
f1 c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
f2 d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
and_TGen :: (NamedIdea c, NamedIdea d) =>
(c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
and_TGen :: forall c d.
(NamedIdea c, NamedIdea d) =>
(c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
and_TGen c -> Sentence
f1 d -> Sentence
f2 c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
(Sentence -> CapitalizationRule
Replace (c -> Sentence
f1 c
t1 Sentence -> Sentence -> Sentence
`S.and_` d -> Sentence
f2 d
t2))
andIts :: (NamedIdea c, NamedIdea d) => c -> d -> NP
andIts :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
andIts c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.andIts` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.andIts` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
andThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
andThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
andThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.andThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.andThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
with :: (NamedIdea c, NamedIdea d) => c -> d -> NP
with :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
with c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S String
"with" Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S String
"with" Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
of_ :: (NamedIdea c, NamedIdea d) => c -> d -> NP
of_ :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
of_ c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
of_NINP :: (NamedIdea c, NounPhrase d) => c -> d -> NP
of_NINP :: forall c d. (NamedIdea c, NounPhrase d) => c -> d -> NP
of_NINP c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NounPhrase n => n -> Sentence
pluralNP d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
of_PSNPNI :: (NounPhrase c, NamedIdea d) => c -> d -> NP
of_PSNPNI :: forall c d. (NounPhrase c, NamedIdea d) => c -> d -> NP
of_PSNPNI c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NounPhrase n => n -> Sentence
pluralNP c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
of_PS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
of_PS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
of_PS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.of_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
ofA :: (NamedIdea c, NamedIdea d) => c -> d -> NP
ofA :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
ofA c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.ofA` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.ofA` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
ofAPS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
ofAPS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
ofAPS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.ofA` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.ofA` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
ofThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
ofThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
ofThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
ofThePS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
ofThePS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
ofThePS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
the_ofThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
the_ofThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
the_ofThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.the_ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.the_ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
the_ofThePS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
the_ofThePS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
the_ofThePS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.the_ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.the_ofThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
onThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
onThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
onThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
onThePS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
onThePS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
onThePS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
onThePP :: (NamedIdea c, NamedIdea d) => c -> d -> NP
onThePP :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
onThePP c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.onThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
inThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
inThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
inThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
inThePS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
inThePS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
inThePS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
inThePP :: (NamedIdea c, NamedIdea d) => c -> d -> NP
inThePP :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
inThePP c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.inThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
isThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
isThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
isThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.isThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.isThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
toThe :: (NamedIdea c, NamedIdea d) => c -> d -> NP
toThe :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
toThe c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.toThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.toThe` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
for :: (NamedIdea c, NamedIdea d) => c -> d -> NP
for :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
for c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.for` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.for` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
forTGen :: (NamedIdea c, Idea d) => (c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
forTGen :: forall c d.
(NamedIdea c, Idea d) =>
(c -> Sentence) -> (d -> Sentence) -> c -> d -> NP
forTGen c -> Sentence
f1 d -> Sentence
f2 c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.for` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.for` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
(Sentence -> CapitalizationRule
Replace (c -> Sentence
f1 c
t1 Sentence -> Sentence -> Sentence
`S.for` d -> Sentence
f2 d
t2))
in_ :: (NamedIdea c, NamedIdea d) => c -> d -> NP
in_ :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
in_ c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.in_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.in_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
in_PS :: (NamedIdea c, NamedIdea d) => c -> d -> NP
in_PS :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
in_PS c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.in_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t1 Sentence -> Sentence -> Sentence
`S.in_` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
inA :: (NamedIdea c, NamedIdea d) => c -> d -> NP
inA :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
inA c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S String
"in a" Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ String -> Sentence
S String
"in a" Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
is :: (NamedIdea c, NamedIdea d) => c -> d -> NP
is :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
is c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase''
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.is` d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2)
(c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
`S.is` d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2)
CapitalizationRule
CapFirst
CapitalizationRule
CapWords
the :: (NamedIdea t) => t -> NP
the :: forall t. NamedIdea t => t -> NP
the t
t = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (String -> Sentence
S String
"the" Sentence -> Sentence -> Sentence
+:+ t -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase t
t) (String -> Sentence
S String
"the" Sentence -> Sentence -> Sentence
+:+ t -> Sentence
forall n. NamedIdea n => n -> Sentence
plural t
t) CapitalizationRule
CapFirst CapitalizationRule
CapWords
theGen :: (t -> Sentence) -> t -> NP
theGen :: forall t. (t -> Sentence) -> t -> NP
theGen t -> Sentence
f t
t = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (String -> Sentence
S String
"the" Sentence -> Sentence -> Sentence
+:+ t -> Sentence
f t
t) (String -> Sentence
S String
"the" Sentence -> Sentence -> Sentence
+:+ t -> Sentence
f t
t) CapitalizationRule
CapFirst CapitalizationRule
CapWords
a_ :: (NamedIdea c) => c -> NP
a_ :: forall t. NamedIdea t => t -> NP
a_ c
t = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (String -> Sentence
S String
"a" Sentence -> Sentence -> Sentence
+:+ c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t) (String -> Sentence
S String
"a" Sentence -> Sentence -> Sentence
+:+ c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t) CapitalizationRule
CapFirst CapitalizationRule
CapWords
a_Gen :: (c -> Sentence) -> c -> NP
a_Gen :: forall t. (t -> Sentence) -> t -> NP
a_Gen c -> Sentence
f c
t = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (String -> Sentence
S String
"a" Sentence -> Sentence -> Sentence
+:+ c -> Sentence
f c
t) (String -> Sentence
S String
"a" Sentence -> Sentence -> Sentence
+:+ c -> Sentence
f c
t) CapitalizationRule
CapFirst CapitalizationRule
CapWords
compoundNC :: (NamedIdea a, NamedIdea b) => a -> b -> IdeaDict
compoundNC :: forall a b. (NamedIdea a, NamedIdea b) => a -> b -> IdeaDict
compoundNC a
t1 b
t2 = UID -> NP -> IdeaDict
ncUID
(a
t1 a -> b -> UID
forall a b. (HasUID a, HasUID b) => a -> b -> UID
+++! b
t2) (NP -> NP -> NP
forall a b. (NounPhrase a, NounPhrase b) => a -> b -> NP
compoundPhrase (a
t1 a -> Getting NP a NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP a NP
forall c. NamedIdea c => Lens' c NP
Lens' a NP
term) (b
t2 b -> Getting NP b NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP b NP
forall c. NamedIdea c => Lens' c NP
Lens' b NP
term))
compoundNCPP :: (NamedIdea a, NamedIdea b) => a -> b -> IdeaDict
compoundNCPP :: forall a b. (NamedIdea a, NamedIdea b) => a -> b -> IdeaDict
compoundNCPP a
t1 b
t2 = UID -> NP -> IdeaDict
ncUID
(a
t1 a -> b -> UID
forall a b. (HasUID a, HasUID b) => a -> b -> UID
+++! b
t2) ((NP -> Sentence) -> (NP -> Sentence) -> NP -> NP -> NP
compoundPhrase'' NP -> Sentence
forall n. NounPhrase n => n -> Sentence
D.pluralNP NP -> Sentence
forall n. NounPhrase n => n -> Sentence
D.pluralNP (a
t1 a -> Getting NP a NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP a NP
forall c. NamedIdea c => Lens' c NP
Lens' a NP
term) (b
t2 b -> Getting NP b NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP b NP
forall c. NamedIdea c => Lens' c NP
Lens' b NP
term))
compoundNCGen :: (NamedIdea a, NamedIdea b) =>
(NP -> Sentence) -> (NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGen :: forall a b.
(NamedIdea a, NamedIdea b) =>
(NP -> Sentence) -> (NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGen NP -> Sentence
f1 NP -> Sentence
f2 a
t1 b
t2 = UID -> NP -> IdeaDict
ncUID
(a
t1 a -> b -> UID
forall a b. (HasUID a, HasUID b) => a -> b -> UID
+++! b
t2)
((NP -> Sentence) -> (NP -> Sentence) -> NP -> NP -> NP
compoundPhrase'' NP -> Sentence
f1 NP -> Sentence
f2 (a
t1 a -> Getting NP a NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP a NP
forall c. NamedIdea c => Lens' c NP
Lens' a NP
term) (b
t2 b -> Getting NP b NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP b NP
forall c. NamedIdea c => Lens' c NP
Lens' b NP
term))
compoundNCPS :: IdeaDict -> IdeaDict -> IdeaDict
compoundNCPS :: IdeaDict -> IdeaDict -> IdeaDict
compoundNCPS = (NP -> Sentence)
-> (NP -> Sentence) -> IdeaDict -> IdeaDict -> IdeaDict
forall a b.
(NamedIdea a, NamedIdea b) =>
(NP -> Sentence) -> (NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGen NP -> Sentence
forall n. NounPhrase n => n -> Sentence
D.pluralNP NP -> Sentence
forall n. NounPhrase n => n -> Sentence
D.phraseNP
compoundNCGenP :: (NamedIdea a, NamedIdea b) => (NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGenP :: forall a b.
(NamedIdea a, NamedIdea b) =>
(NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGenP NP -> Sentence
f1 a
t1 b
t2 = UID -> NP -> IdeaDict
ncUID
(a
t1 a -> b -> UID
forall a b. (HasUID a, HasUID b) => a -> b -> UID
+++! b
t2) ((NP -> Sentence) -> NP -> NP -> NP
compoundPhrase''' NP -> Sentence
f1 (a
t1 a -> Getting NP a NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP a NP
forall c. NamedIdea c => Lens' c NP
Lens' a NP
term) (b
t2 b -> Getting NP b NP -> NP
forall s a. s -> Getting a s a -> a
^. Getting NP b NP
forall c. NamedIdea c => Lens' c NP
Lens' b NP
term))
compoundNCPSPP :: IdeaDict -> IdeaDict -> IdeaDict
compoundNCPSPP :: IdeaDict -> IdeaDict -> IdeaDict
compoundNCPSPP = (NP -> Sentence) -> IdeaDict -> IdeaDict -> IdeaDict
forall a b.
(NamedIdea a, NamedIdea b) =>
(NP -> Sentence) -> a -> b -> IdeaDict
compoundNCGenP NP -> Sentence
forall n. NounPhrase n => n -> Sentence
D.pluralNP
combineNINP :: (NamedIdea c) => c -> NP -> NP
combineNINP :: forall c. NamedIdea c => c -> NP -> NP
combineNINP c
t1 NP
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP NP
t2) (c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ NP -> Sentence
forall n. NounPhrase n => n -> Sentence
pluralNP NP
t2) CapitalizationRule
CapFirst CapitalizationRule
CapWords
combineNPNI :: (NamedIdea c) => NP -> c -> NP
combineNPNI :: forall c. NamedIdea c => NP -> c -> NP
combineNPNI NP
t1 c
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP NP
t1 Sentence -> Sentence -> Sentence
+:+ c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t2) (NP -> Sentence
forall n. NounPhrase n => n -> Sentence
phraseNP NP
t1 Sentence -> Sentence -> Sentence
+:+ c -> Sentence
forall n. NamedIdea n => n -> Sentence
plural c
t2) CapitalizationRule
CapFirst CapitalizationRule
CapWords
combineNINI :: (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI :: forall c d. (NamedIdea c, NamedIdea d) => c -> d -> NP
combineNINI c
t1 d
t2 = Sentence
-> Sentence -> CapitalizationRule -> CapitalizationRule -> NP
nounPhrase'' (c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase d
t2) (c -> Sentence
forall n. NamedIdea n => n -> Sentence
phrase c
t1 Sentence -> Sentence -> Sentence
+:+ d -> Sentence
forall n. NamedIdea n => n -> Sentence
plural d
t2) CapitalizationRule
CapFirst CapitalizationRule
CapWords