[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua and Saint-Exupery?
- From: David Given <dg@...>
- Date: Fri, 25 Feb 2005 21:08:03 +0000
On Friday 25 February 2005 19:55, Aaron Brown wrote:
[...]
> This special case exists for literal strings and table
> constructors to make Lua more flexible as a data-description
> language:
In fact, I'd rather like to see this syntax kept, but generalised, so that
'print true' does actually work.
This opens up the possibility for some rather nice features by chaining
together functions.
Object = {...description of object...}
o1 = Object
o2 = green Object
o3 = large green Object
o4 = sparkly large green Object
...where green, large and sparkly are functions that take a single parameter,
examine their contents, and return a new table based on those contents.
Terribly handy, particularly for a data description language, and has the
bonus that it would make the language more consistent, which means a less
complex and therefore smaller parser.
Imagine this applied to LTN12, for example.
(However, you would have to be extremely careful with precedence, and it opens
the door for some unpleasant typo-based bugs. 'foo() + bar()' and 'foo()
bar()' become valid, the latter being equivalent to 'foo()(bar())'.)
[...]
> All of the libraries, including io, use the dot notation.
> The io library (the only library that deals with handles)
> also uses the colon notation when a handle is involved.
Yes, : is completely appropriate here.
--
"Curses! Foiled by the chilled dairy treats of righteousness!" --- Earthworm
Jim (evil)