ccl icon indicating copy to clipboard operation
ccl copied to clipboard

Allow inlining a function within its own argument forms

Open se-mz opened this issue 6 months ago • 0 comments

nx1-expand-inline overzealously protects not just the body but also the argument forms from what I assume is (mutually) recursive inlining. As a result, only the outer call is inlined in calls like (f x (f y z)).

Adding an extra parameter just for this is a bit annoying, but nx1-destructure is only called here and nx1-lambda-bind only has one other call site.

I did once try to disable the *nx-inline-expansions* mechanism entirely for the hell of it but still couldn't trigger a problem with inlining. Is it possible that it's redundant? Maybe I'm just not good at coming up with test cases.

se-mz avatar May 07 '25 19:05 se-mz