Skip to content

Conversation

@se-mz
Copy link
Contributor

@se-mz se-mz commented May 7, 2025

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.

NX1-EXPAND-INLINE overzealously protects not just the body but also the argument
forms from (mutually) recursive inlining. As a result, only the outer call is
inlined in calls like (F X (F Y Z)).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant