Ken Tilton <[EMAIL PROTECTED]> writes: > As for: > > > At a syntax-sugar > > level, for example, Lisp's choice to use parentheses as delimiter means > > it's undesirable, even unfeasible, to use the single character '(' as an > > ordinary identifier in a future release of the language. > > (defun |(| (aside) (format nil "Parenthetically speaking...~a." aside)) > => |(| > (|(| "your Lisp /is/ rusty.") > => "Parenthetically speaking...your Lisp /is/ rusty.." > > :) No, seriously, is that all you can come up with?
Well, you have to quote your (s-as-identifiers. I tried a goofy hack of a reader macro for ( to make this parse: (let (( ( 10))) ( )) [The spaces are just for readability, not necessary] Alas, short of cps-transforming the whole reader, I can't see a reasonable way to get that to parse as a single sexp that, when evaluated, returns 10. What my reader macro gave me was five sexps: \(, LET, \(, ((10)), NIL I'll follow up with the Lisp code (on c.l.l only), in case I'm missing something simple. > OK, I propose a duel. We'll co-mentor this: > > http://www.lispnyc.org/wiki.clp?page=PyCells > > In the end Python will have a Silver Bullet, and only the syntax will > differ, because Python has a weak lambda, statements do not always > return values, it does not have macros, and I do not know if it has > special variables. I have no idea what the big problem with a multi-line lambda is in Python, but I wonder if Cells wouldn't run against the same thing. I often pass around anonymous formulas that eventually get installed in a slot. Seems annoying to have to name every formula with a labels-like mechanism. -- http://mail.python.org/mailman/listinfo/python-list