>
http://www.ibm.com/developerworks/java/library/j-clojure-protocols/
nice article!
(rambling: the expression problem is fun in that there isn't, as far
as i've heard and i'm not that educated about it of course, any
perfect solution -- everything kind of sucks in some way. and if you
had a language that worked perfectly for it, then that language would
be horribly deficient in other ways, for other things you want to
solve, i dare guess.
the crux of the nut is the old saw that functional lets you easily
(which means: not have to edit already-existing code) add new
functions, whereas oo lets you easily add new datatypes.
if you look at the "wonderful" scala solution that was around a while
back, i think it has all sorts of less-than-idealness about it.)