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

Add a sentence to motivate eta-equality #1102

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

fangyi-zhou
Copy link
Contributor

Addresses #1099.

Copy link
Member

@wadler wadler left a comment

Choose a reason for hiding this comment

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

Thank you!

In "put them back" grammatically "them" refers to either "the destructors" or "the constructors", neither of which I think you intend. How about replacing the first sentence with this:

Start with a product, apply the destructors to it, and then apply the constructor; the result is the original product.

@fangyi-zhou
Copy link
Contributor Author

Thanks for the suggestion, my intention was the generalise the concept from the previous sentence to motivate the eta-quality law, since the preceeding sentence reads:

Applying each destructor and reassembling the results with the
constructor is the identity over products:

In the spirit of providing more clarity, what about this:

In the general sense, with a record, apply the projections to all fields, and then apply the record constructor; the result is the original record.

@fangyi-zhou fangyi-zhou marked this pull request as ready for review February 20, 2025 00:56
@wenkokke
Copy link
Collaborator

Thanks for the suggestion, my intention was the generalise the concept from the previous sentence to motivate the eta-quality law, since the preceeding sentence reads:

Applying each destructor and reassembling the results with the
constructor is the identity over products:

In the spirit of providing more clarity, what about this:

In the general sense, with a record, apply the projections to all fields, and then apply the record constructor; the result is the original record.

"For any record, projecting out each field and reassembling the results using the constructor should be the identity."

Maybe followed by (except using more appropriate unicode):

c (p1 r) ... (pN r) = r

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.

3 participants