[Python-ideas] YAML (yet-another-multiline-lambda)
Ryan Gonzalez
rymg19 at gmail.com
Tue Oct 22 19:57:54 CEST 2013
Looks like Lisp(Lots of Irritating Stupid Parenthesis). Hehehe.
On Tue, Oct 22, 2013 at 5:10 AM, Antony Lee <antony.lee at berkeley.edu> wrote:
> As the issue has been (indirectly) raised again in the recent context
> manager thread, I would like to propose yet another syntax for multiline
> lambdas... I know there has been many but I (foolishly?) hope this one is
> simpler. I do not wish to focus on the usual arguments for and against the
> usefulness of such a construct (from the archives of the list, I feel that
> the lack of an attractive syntax is the bigger barrier).
>
> Specifically, I suggest that the "def" (and possibly the "class")
> keyword(s) may be used in an expression context, if immediately surrounded
> by parentheses. The indentation of the body of the function is given by
> the indentation of the first line after the def.
>
> target = (def f(arg):
> <...>)
>
> add_callback(
> def callback(arg):
> <...>)
>
> callbacks = {
> "foo":
> (def foo():
> <...>), # note how the parentheses disambiguate where the last
> comma belongs
> "bar":
> (def bar():
> <...>)
> }
>
> As an extra suggestion, one may want to allow not specifying a function
> name in these contexts:
>
> callbacks = {
> "foo":
> (def ():
> <...>)
> }
>
> (in which case the function would be named "<lambda>", of course) but I do
> not think that this is a critical feature (and it could always be added
> later).
>
> Feel free to critique,
>
> Antony
>
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> https://mail.python.org/mailman/listinfo/python-ideas
>
>
--
Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20131022/af331aea/attachment.html>
More information about the Python-ideas
mailing list