Issue: GrammaticalExpression right now is a subclass of Expression, which primarily stores a form and a Meaning. The problem: Meanings are basically a set of Referents. This works well for GrammaticalExpressions that start from bool (e.g. subset(A, B) or all the ones in the indefinites example), since they produce functions that map a Referent to a bool. But sub-expressions thereof (e.g. the A, or an int like 5) may not return bool and so cannot be used to produce a Meaning.
I'm leaning towards making GrammaticalExpression not a busclass of Expression (and so maybe renaming it as well), and then having the evaluate method take a GE and return a Meaning. We could also introduce something like InterpretedGrammaticalExpression as a subclass of Expression which stores the GE + Meaning for GEs that are bool.
Note: if we adopt the proposal in #40, we can let GrammaticalExpression remain a subclass of expression and modify evaluate to look more like call_on_universe
Issue:
GrammaticalExpression
right now is a subclass ofExpression
, which primarily stores a form and aMeaning
. The problem:Meaning
s are basically a set ofReferent
s. This works well forGrammaticalExpression
s that start frombool
(e.g.subset(A, B)
or all the ones in the indefinites example), since they produce functions that map aReferent
to abool
. But sub-expressions thereof (e.g. theA
, or an int like5
) may not returnbool
and so cannot be used to produce aMeaning
.I'm leaning towards making
GrammaticalExpression
not a busclass ofExpression
(and so maybe renaming it as well), and then having theevaluate
method take a GE and return aMeaning
. We could also introduce something likeInterpretedGrammaticalExpression
as a subclass ofExpression
which stores the GE + Meaning for GEs that arebool
.