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 features needed by patch library #3

Merged
merged 12 commits into from
Aug 17, 2020

Conversation

endgame
Copy link
Contributor

@endgame endgame commented Apr 23, 2020

See also: reflex-frp/patch#4

This PR:

  • Adds (~~) as a group subtraction operator, as it was in patch's
    Group class. It is infixl 7 based on the discussion in
    Use Group from elsewhere reflex-frp/patch#4 .

  • Adds instances for every type present in base. Instances for
    MonoidalMap are not ported across, because monoidal-containers
    pulls in lens. If this PR is accepted, I will PR
    monoidal-containers to move those instances.

  • Adds a few obvious Cyclic instances.

Note: To write instances for (:*:) and (:.:), I had to turn on
-XTypeOperators. This means that we're no longer pure Haskell98. The
cabal documentation has been updated to reflect this. I wrote out the
instances for Const and Identity by hand to avoid turning on
-XStandaloneDeriving and -XGeneralizedNewtypeDeriving.

groups.cabal Outdated Show resolved Hide resolved
@endgame
Copy link
Contributor Author

endgame commented Apr 29, 2020

Is there anything else that needs to happen here?

@endgame
Copy link
Contributor Author

endgame commented May 11, 2020

Just checking in again - is there anything else you need from me for this?

@endgame
Copy link
Contributor Author

endgame commented May 25, 2020

@Taneb Anything else you need from me here?

@endgame
Copy link
Contributor Author

endgame commented Jul 14, 2020

@Taneb Anything else necessary to get this merged?

@Taneb
Copy link
Owner

Taneb commented Aug 7, 2020

Having thought it over for a while, I'm not happy with the splitting of the copyright for this library. Either can you transfer me the copyright, or I can ask someone who hasn't seen this PR to implement those particular instances from scratch.

@endgame
Copy link
Contributor Author

endgame commented Aug 7, 2020

It's not my copyright to transfer. I can ping someone from Obsidian but I think it would be faster to ask someone to cleanroom it.

@ryantrinkle
Copy link

@Taneb I'm a partner at Obsidian. We're fine with relicensing this under your current license, which appears to be exactly the same as ours except for a minor change of wording and formatting.

@endgame Thanks for taking the time to integrate this here!

Ryan Trinkle (Partner, Obsidian Systems) consented to this:
Taneb#3 (comment)
@endgame
Copy link
Contributor Author

endgame commented Aug 17, 2020

Okay @Taneb, how's this?

@Taneb Taneb merged commit 5a0fbd0 into Taneb:master Aug 17, 2020
@endgame endgame deleted the additions-for-patch branch August 17, 2020 11:04
@endgame
Copy link
Contributor Author

endgame commented Aug 17, 2020

Thanks heaps!

@Taneb
Copy link
Owner

Taneb commented Aug 17, 2020

I'll get this released ASAP

@Taneb
Copy link
Owner

Taneb commented Aug 17, 2020

And released! https://hackage.haskell.org/package/groups-0.5

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