
On Oct 19, 2010, at 22:10, Isaac Dupree wrote:
On 10/19/10 14:35, Bastian Erdnüß wrote:
xor False = id xor True = not infixr 2 xor
Also, exclusive-or on Bool can be written as /= (the first boolean is not equal to the second boolean), which makes sense to use because /= is a standard function.
Cool. Never thought of it that way. Then it turns out to be even more easy: instance OBSERVATIONS Drinkability WaterWell Volunteer where observe (Drinkability waterWell) volunteer = volunteer { vReport = drinkability } where drinkability = drinkableIf $ claimedAppereance == honesty volunteer claimedAppereance = odorQuale (perceive (Odor waterWell) volunteer) && clarityQuale (perceive (Clarity waterWell) volunteer) && fullnessQuale (perceive (Fullness waterWell) volunteer) drinkableIf True = "drinkable" drinkableIf False = "undrinkable" Regards, Bastian