Skip to content

Improve name resolution in Liquid Haskell #180

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

Merged

Conversation

facundominguez
Copy link
Contributor

No description provided.

@facundominguez facundominguez changed the title Add idea for name resolution in Liquid Haskell Improve name resolution in Liquid Haskell Jan 29, 2024
Copy link

@yannham yannham left a comment

Choose a reason for hiding this comment

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

I think the description does a good job at explaining the technical context. Is there any size limit? If there's a bit more room, it might make the proposal more attractive to include even just one sentence about the motivation for something like LiquidHaskell (something about ensuring high assurance/correctness for critical software in a non-obtrusive way, for example).

Also, I wonder why name resolution is currently done two times? Is it for ease of implementation, for historical reasons, or because of objective technical difficulties that the candidate will have to solve?

Comment on lines 32 to 44
A proposal should include tentative answers to the following questions plus any
others that the candidate considers relevant:

* What names should be accessible in the specifications of a given module?

* What should be the mechanism to bring names in scope?

* How should the system negotiate or resolve ambiguous names?

* Which design and/or implementation steps should be done to adjust Liquid
Haskell to the proposed mechanisms?

* How much effort would the previous steps take?
Copy link

Choose a reason for hiding this comment

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

I find it a bit surprising to require a proposal. It looks like there is some pre-project acceptance criteria here (which I did not in see in existing proposals), whereas I think there isn't any. You are simply outlaying what the project will look like right? If that's the case, I would reword to make this look less intimidating.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I reduced the intimidation factor. But since GSoC already provides the guidelines for proposals, maybe I should just keep the requirement of the final blog post.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I should just keep the requirement of the final blog post.

Done.

@facundominguez facundominguez force-pushed the fd/lh-name-resolution branch 2 times, most recently from 801ac2f to 610227b Compare February 1, 2024 18:38
@facundominguez
Copy link
Contributor Author

Is there any size limit?

Only the patience of the student :) I'll consider your suggestion.

Also, I wonder why name resolution is currently done two times?

I don't know for sure, but my guess is it is a historical reason. Meaning that different projects modified the code base without consolidated goals.

I don't anticipate technical obstacles that justify the current state of affairs, though I admit perhaps we learn something more about it during the project.

@facundominguez facundominguez marked this pull request as ready for review February 1, 2024 19:18
@facundominguez facundominguez force-pushed the fd/lh-name-resolution branch 2 times, most recently from b96da2b to 7ea7a81 Compare February 1, 2024 19:30
Comment on lines 43 to 44
The following aspects haven't been answered explicitly so far for the Liquid
Haskell scenario.
Copy link

Choose a reason for hiding this comment

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

Suggested change
The following aspects haven't been answered explicitly so far for the Liquid
Haskell scenario.
In other words, to attain this supplementary stretch goal, one will need to answer those questions:

Rationale: I think that's what you mean

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @smelc! Adopted with edits.

@facundominguez
Copy link
Contributor Author

@aaronallen8455, I think this is good to merge unless you have suggestions.

@aaronallen8455 aaronallen8455 merged commit 2d98b10 into haskell-org:master Feb 4, 2024
@facundominguez facundominguez deleted the fd/lh-name-resolution branch February 5, 2024 18:53
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.

4 participants