Re: [UNSURE]Re: [UNSURE]Re: [ANN] lua-CodeGen 0.1.0
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: [UNSURE]Re: [UNSURE]Re: [ANN] lua-CodeGen 0.1.0
- From: François Perrad <francois.perrad@...>
- Date: Thu, 9 Sep 2010 14:57:14 +0200
2010年9月6日 David Manura
<dm.lua@math2.org>
On Sat, Sep 4, 2010 at 4:08 PM, François Perrad
> This syntax could be replaced by ${dependencies*_depend()}
> or ${dependencies[]_depend()}.
Or maybe ${dependencies/_depend}. That agrees with the Lpeg syntax
for "apply the given function to all elements in the given capture
list" [1]. Another symbol like '//' or '|' would be more unambiguous.
Alternately, extend the attribute syntax you currently use:
${dependencies; map=_depend; format=f}. It does seem to me that such
a map and format do very similar things and should be made to look
more similar: the former applies a function to all members of an
object while the latter applies a function to the object itself. A
pipe-like form might be preferred since unlike the attribute syntax it
suggests that ordering and repetition are preserved:
${dependencies | map _depend | join ',' | apply f}
Maybe also consider allowing the parens to be omitted in
`${_source()}` since in `${_source}` calling rather than
stringification would usually be more sensible for type == 'function'.
The problem is that it complicates handling function-like objects
(having __call).
There should be a way to escape special characters like '$'.
[1] http://www.inf.puc-rio.br/~roberto/lpeg/lpeg.html#cap-func
lua-CodeGen 0.2.0 was released with the syntax ${dependencies/_depend()}
and some minor improvements.
François