Re: Inline function in Lua
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: Inline function in Lua
- From: askok@...
- Date: 2007年1月07日 20:17:56 +0200
Disclaimer: mentioning token filters is rapidly becoming a
de-facto
giving-you-an-answer-without-really-solving-the-issue in
Lua. This will no doubt start irritating some users (me
included).
Here we go again... :)
One could define an "id= inline [(...)] ...expressions...
end" block to behave as a user provided macro; it would
not generate any bytecode itself, but define that any time
'id [(...)]' is used in the source, it would be replaced
by the ...expressions... . While this would be exactly
what you're asking for, and there's no really other
drawbacks than the ones connected to token filtering
itself (and maybe bigger bytecode, but you're implying
that by inline anyways), I would _not_ recommend doing
this.
[(...)] for optional parameters
Or... perhaps I should start an online shop, crafting any
token filters anyone anywhere ever would like? Would you
pay for it? :)
-asko
ps. In practise: use the C preprocessor to define the
inlines. Will that do it?
On Sun, 7 Jan 2007 11:40:15 -0500
"Jérôme VUARAND" <jerome.vuarand@gmail.com> wrote:
2007年1月7日, howard chen <howachen@gmail.com>:
Are there similar to C/C++ inline function systax in
Lua?
I have a small function but will be called quite
frequent, if
inline-ed, it might give some performance gain as there
will be no
function call
There is no such thing as inlining in Lua, since the
closure mechanism
used by Lua impose to resolve most things at runtime.
The only
optimization in stock Lua specific to functions calls is
the tail
call, that let you optimize a bit your stack usage.