Python syntax in Lisp and Scheme
Marco Antoniotti
marcoxa at cs.nyu.edu
Wed Oct 8 11:27:59 EDT 2003
Carlo v. Dango wrote:
>
>> I'd humbly suggest that if you can't see *any* reason why someone
>> would prefer Lisp's syntax, then you're not missing some fact about
>> the syntax itself but about how other language features are supported
>> by the syntax.
>
>
> sure, but it seems like noone was able to let CLOS have
> (virtual) inner classes,
> methods inside methods,
> virtual methods (yeah I know about those stupid generic functions :),
> method overloading,
From what you are saying it is obvious that you do not know what you
are talking about.
True, you do not have "inner" classes, but that has never stopped
anybody from writing good code. As for your comments on methods and
generic functions it is obvious that you do not know what multiple
dispatching is (yes, there is an ugly hacked up Python library to do
that floating around; I do not know if it will make it it 3.0), so you
comment looses value immediately.
> A decent API (I tried playing with it.. it doesn't even have a freaking
> date library as standard ;-p
Apart form the fact that the language has GET-UNIVERSAL-TIME,
DECODE-UNIVERSAL-TIME etc etc, you can get a nice and portable (across
all n > 1.8 CL implementations) date parsing library at
http://www.cliki.net/net-telent-date
>
> Yes I agree with the compile time
The term "compile" should already make you think.
> macro expansion is a nice thing.
> However, if I want to do some serious changes to the structure of
> objects and classes (i.e. create a new kind of objects) then I have to
> spend a long time finding out how the CLOS people hacked together their
> representation of classes, methods, method call etc... it has been far
> easier for me to just do some small changes using __getattribute__ and
> metaclasses in python. So in that respect Im not really sure the macro
> idea is advantageous for other than 'straight away' macros...
And how exactly does CLOS forbid you to do the same? You can do that
using accessor, reader and writer generic functions (ooops, I forgot
that you do not know enough about them :) ) If that is not enough, the
CLOS Metaobject Protocol is available in practically all major CL
implementations (and that is more than the 1.8 Python implementations
out there). And it seems to me that
>
> yes this mail is provocative.. please count slowly to 10 before replying
> if you disagree with my point of view (and I know Pascal will disagree
> ;-) ... not that I ever seen him angry ;-)
I counted until 42 :)
Cheers
--
Marco
More information about the Python-list
mailing list