[Zope] Use of lambda expression in DTML

Martijn Pieters mj@digicool.com
Mon, 29 May 2000 21:40:59 +0200


On Mon, May 29, 2000 at 04:33:20PM -0300, Lalo Martins wrote:
> One big question is: what's wrong with filter, map and lambda?
> They can make a lot of code a lot simpler, specially for people
> who have a background in functional programming.
> 
> IIRC there is nothing wrong with them - only that all builtins
> were disabled and some specific few were re-enabled, and then
> those three were overlooked.
> 
> Count one vote for getting them back (_.lambda, _.filter, _.map
> is fine enough, of course).

I can't comment with authority on why these methods are not accessible, but I
imagine that they are banned because they'll probably let you lock up Zope in
one way or another, creating a convenient denial-of-service attack.

What I would like to say is that if your application needs lambda, filter or
map, your code is getting bejond report or presentation generation (for which
DTML is intended) and in the realm of data manipulation and business rules. In
this case your code would be much better placed in some form of Method object,
be that an External, Python, or when ready, Perl Method, or even as a disk
based Product.

-- 
Martijn Pieters
| Software Engineer    mailto:mj@digicool.com
| Digital Creations  http://www.digicool.com/
| Creators of Zope       http://www.zope.org/
|   The Open Source Web Application Server
---------------------------------------------