Skip to content
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

identify the code that is relying on ApplicativeDo #4970

Open
mitchellwrosen opened this issue May 18, 2024 · 0 comments
Open

identify the code that is relying on ApplicativeDo #4970

mitchellwrosen opened this issue May 18, 2024 · 0 comments

Comments

@mitchellwrosen
Copy link
Member

I noticed we have ApplicativeDo enabled as a default extension in many packages. This is very odd - it's a rather ad-hoc extension that rewrites your do-blocks to use applicative operators where it can, with some hacky hard-coded rules. I think it should just be enabled in the small number of modules that want to opt in for whatever reason.

So I tried removing it, but the context.verifyClosedTerm.report-all-free-vars test failed!

You can run it with:

stack build --test unison-parser-typechecker --test-arguments context.verifyClosedTerm.report-all-free-vars

I think we should identify the Applicative in our codebase that is relying on some do-block being rewritten to use applicative operators, rewrite it to use those operators explicitly, then stop using ApplicativeDo (if not everywhere, then at least as a default extension)

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

No branches or pull requests

1 participant