[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Features you would like to see
- From: "Patrick Donnelly" <batrick.donnelly@...>
- Date: Fri, 17 Aug 2007 21:36:16 -0600
On 8/16/07, David Manura <firstname.lastname@example.org> wrote:
> Patrick Donnelly writes:
> > I'm curious what features people would like to see added to Lua.
> See http://lua-users.org/wiki/FeatureProposals .
> Some of my own favorites include
> (RAII or scope guards to more effectively solve some cleanup problems)
> (modules should not touch global variables)
> (e.g. the "let" syntax)
> (e.g. __len, __pairs, and other metamethods on tables)
> Possibly also: macros (in the LISP sense).
> > I'd like to see some sort of "default" value for function arguments
> > added. Something along the lines of:
> > function foo(a or 5)
> > ...
> > end;
> > ..... a = a or 5; ... end;. Syntactic sugar maybe?
> Function argument processing involves a lot of things, including type and range
> checking for named and positional elements. I think the above might add more
> complexity to the language but only address one special case.
I think what I meant was that this facility be added to the language
as "syntactic sugar". This should really add much if any complexity to
the language. Basically:
function foo( a or 5 )
would be expanded to
function foo( a )
a = a or 5;
This is similar to how other things are expanded internally, such as
"foo.print" => "foo["print"]". I just think it makes for a nice little
"One of the lessons of history is that nothing is often a good thing
to do and always a clever thing to say."