Skip to content

Make application default to uncurried at the lambda level. #6894

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

cristianoc
Copy link
Collaborator

@cristianoc cristianoc commented Jul 19, 2024

This is to restore lost optimisations in uncurried mode: #6879 so every runtime use of curry is gone.

@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from 3ac17cb to 4ffa73a Compare July 21, 2024 04:47
Base automatically changed from Popaque to master July 21, 2024 04:56
@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from 4ffa73a to de4896a Compare July 21, 2024 05:01
@cristianoc cristianoc requested a review from cknitt July 21, 2024 05:03
@cristianoc
Copy link
Collaborator Author

@cknitt this is still ongoing, but asking a review to take a look if it's on the right track.
In which case, the couple of broken things can be addressed later.

@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from de4896a to 2c2c472 Compare July 21, 2024 05:07
Copy link
Member

@cknitt cknitt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skimmed through the diffs, and other than the getters and setters they look good to me! 👍

result.contents = "Some x, f returns false";
}
return;
if (exit === 2) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting that this causes an if to be generated instead of a switch.

@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from 2c2c472 to 08b6806 Compare July 22, 2024 00:24
@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from 08b6806 to 33798cc Compare July 22, 2024 06:56
@cristianoc cristianoc changed the title Test treat every lambda apply as uncurried Make application default to uncurried at the lambda level. Jul 22, 2024
@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from 33798cc to eb5e36a Compare July 23, 2024 04:15
@cristianoc cristianoc force-pushed the test-treat-every-lambda-apply-as-uncurried branch from eb5e36a to 0f69786 Compare July 23, 2024 04:37
@@ -2178,7 +2166,7 @@ and type_expect_ ?type_clash_context ?in_function ?(recarg=Rejected) env sexp ty
| _ -> false in

if fully_applied && not is_primitive then
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the if could actually be removed now.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We still have foo(x, ...) for partial application.

@cristianoc
Copy link
Collaborator Author

Merging this into the parent PR.

@cristianoc cristianoc changed the base branch from master to test-remove-opaque-full-apply July 23, 2024 15:00
@cristianoc cristianoc merged commit f3f1a61 into test-remove-opaque-full-apply Jul 23, 2024
19 checks passed
@cristianoc cristianoc deleted the test-treat-every-lambda-apply-as-uncurried branch July 23, 2024 15:01
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.

2 participants