Lisp mentality vs. Python mentality
Dan Sommers
somm1105 at bellsouth.net
Tue Apr 28 06:03:01 EDT 2009
On Tue, 28 Apr 2009 02:00:22 -0300, namekuseijin wrote:
> Dan Sommers wrote:
>> On Mon, 27 Apr 2009 07:57:00 +0300, Ciprian Dorin, Craciun wrote:
>>> I agree with your opinion about keeping the abstraction layers
>>> shallow, but in my view high-order and helper functions do not
>>> comprise a new abstraction layer. For example in Lisp, using map,
>>> reduce (fold), or any other high-order function is just like using
>>> for, or while in a normal imperative language.
>>
>> If I hit a call to map or to reduce, I've hit the bottom: map and
>> reduce are defined by Lisp and not by the programmer.
>
> You truly don't know Lisp. *Everything* in Lisp can be _redefined_ and
> if you can't do something conveniently that way, you can use a _macro_
> to implement convenient new syntax for it.
Yes, I agree: Python and Lisp are extremely dynamic languages. I *can*
redefine map, reduce, +, and other operators and functions, but I know
better. When is the last time you examined someone else's code, and
asked them what their "map" function did (in Lisp or in Python)?
--
Dan Sommers A death spiral goes clock-
<http://www.tombstonezero.net/dan/> wise north of the equator.
Atoms are not things. -- Werner Heisenberg -- Dilbert's PHB
More information about the Python-list
mailing list