Hi!
Andreas Rottmann <[email protected]> writes:
[...]
>>> +behaves the same as a regular procedure, but direct calls will result in
>>> +the procedure body being inlined into the caller.
>>> +
>>> +Making a procedure inlinable eliminates the overhead of the call,
>>
>> How about:
>>
>> Procedures defined with @code{define-inlinable} are @emph{always}
>> inlined, at all call sites. This eliminates function call overhead at
>> the expense of an increase in code size.
>>
> Folded in, with the addition of using ".., at _direct_ call sites.".
> There's no inlining happening when you use `apply', or rebind the
> procedure with `let'. Should this be made more explicit?
That’s fine IMO.
>>> but at
>>> +the same time means that the caller will not transparently use the new
>>> +definition if the inline procedure is redefined.
>>
>> ... redefined using @code{set!}.
>>
> I don't agree with that one: there are multiple ways a procedure can get
> "redefined", `set!' being just one of them. I was actually thinking
> more of re-evaluating the procedure definition or something like
> `geiser-compile-file', hence I left the text like it was, being more
> vague.
Right, good point.
> Updated patch attached, is it OK to push this way?
Yes, please go ahead!
Thanks,
Ludo’.