Originally Posted by
djr33
Semantic theories usually focus on the "flat" meanings, called "truth-conditional semantics", just based on what it would mean for the sentence to be true-- but not about the individual parts within that full meaning. These theories look very much like functional programming. In fact, they include functions and arguments. For example, "John is sleeping" would look something like SLEEP(john). And in many ways, that works. But it doesn't give the internal separable meanings I'd like.
As I see it, one solution here is to (literally) add objects to the representation. This is parallel to OOP. Instead of just applying functions and getting outputs, we can think about individual things that are manipulated by functions. So we can rewrite "John is sleeping" as something like JOHN->sleep(). Now we can talk about two things: i) "John is sleeping"; ii) John (because he's an object, not lost somewhere inside the SLEEP() function).
Technically, the functional vs OOP approaches to programming are a metaphor for what I'm doing. At the time time, it's almost literally applying the ideas to some extent.