Soda: An Object-Oriented Functional Language for Specifying Human-Centered Problems