In article <[EMAIL PROTECTED]>,
 Pascal Bourguignon <[EMAIL PROTECTED]> wrote:

> Kirk  Sluder <[EMAIL PROTECTED]> writes:
> > I've not seen a convincing explanation as to why imported macros 
> > from some library are so much more evil than imported functions. In 
> > both cases one might have to dig into documentation and/or comments 
> > to understand exactly what that imported snippit is doing.
> 
> And the difference with a library function is?
> 
> (defpackage "LIBRARY" (:export "THIS-IS-A-FUNCTION"))
> 
> (library:this-is-a-function ???) ; ???

Well, my argument is that there is little difference. Functions, 
objects and macros all redefine some aspect of the system's 
language, and all of them can be vulnerable to obfuscation or 
unnecessary abstraction.  The question I have is why do critics 
single out macros and not other forms of abstraction such as 
objects, packages, libraries, and functions?

just as an example:
from foolib import *
bar.bar("somefile")

What does this program do? I have no idea. Its functionality is 
hidden behind multiple layers of abstraction (function, object, 
library.)
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to