
On Tue, 14 Jul 2009 12:36:02 +0200, Ketil Malde
[redirected from haskell@]
Benjamin L.Russell
writes: One often amusing outgrowth of this is that FP (OOP) fanatics anthropomorphize their functions (objects).
Well, I don't think we do.
Functions are just mappings of values to values, they may be opaque, but they're predictable, unchanging, and just...too boring to be antropomorphized.
Objects contain all kinds of hidden state and dependencies, and the sheer unpredicatability of it all is the reason for the anthropomorphics - it a symptom of a disease, not a desirable quality.
Concepts in Squeak [a dialect and implementation of Smalltalk] have
Although I don't necessary agree with your choice of the term, I find it interesting that you should use the biological term "disease"; according to a post [1] entitled "Re: Re: Smalltalk Data Structures and Algorithms," by K. K. Subramaniam, dated "Mon, 29 Jun 2009 11:25:34 +0530," on the squeak-beginners mailing list (see http://lists.squeakfoundation.org/pipermail/beginners/2009-June/006270.html), their origins
in biology rather than in computational math.... See the reading list at http://www.squeakland.org/resources/books/readingList.jsp particularly "The Selfish Gene" by Richard Dawkins.
It's an interesting coincidence that you should hit upon the term "disease," which also derives from biology. It's not just "the sheer unpredictability of it all" that is "the reason for the anthropomorphics"; it is the fundamental difference of the basis in biology vs. computational mathematics. Haskell (and FP) derive from the latter; Smalltalk (and OOP) derive from the former. Biological structures also contain "all kinds of hidden state and dependencies"; in that sense, objects are similar to biological structures, and are more easily anthromorphized on that account. Functional programming functions, on the other hand, are not similar to biological structures, and hence are not easily anthromorphized; instead, they are similar to mathematical functions. I wouldn't necessarily say that "anthromorphics ... [is] a symptom of a disease," though. Anthromorphics simply uses terms from biology, from which concepts in Squeak (and the OO paradigm thereof) derive. The closest counterpart for Haskell that I can think of is the puzzle game "Alligator Eggs!" [2] (see http://worrydream.com/AlligatorEggs/), by Bret Victor, which draws an analogy between various behaviors of alligators and operations in the lambda calculus--a collection of "allomorphisms," perhaps? -- Benjamin L. Russell [1] Subramaniam, K. K. "Re: Re: Smalltalk Data Structures and Algorithms." The Beginners Archives. Squeak.org. 29 June 2009. 15 July 2009. http://lists.squeakfoundation.org/pipermail/beginners/2009-June/006270.html. [2] Victor, Bret. "Alligator Eggs!" _Bret Victor's website._ Bret Victor. 11 May 2007. 15 July 2009. http://worrydream.com/AlligatorEggs/. -- Benjamin L. Russell / DekuDekuplex at Yahoo dot com http://dekudekuplex.wordpress.com/ Translator/Interpreter / Mobile: +011 81 80-3603-6725 "Furuike ya, kawazu tobikomu mizu no oto." -- Matsuo Basho^