Skip to content
This repository has been archived by the owner on Feb 8, 2022. It is now read-only.

Renamed 'empty' to 'neutral' and 'isEmpty' to 'isNeutral'. #140

Closed
wants to merge 1 commit into from

Conversation

denisrosset
Copy link
Contributor

According to discussion in #131

@johnynek
Copy link
Contributor

👍

I want to make sure @non is +1.

I think @TomasMikula is (he suggested the change) as is @rklaehn, which along with @non seems like a quorum of the most active contributors/users.

@TomasMikula
Copy link
Collaborator

+1
On Dec 21, 2015 2:17 PM, "P. Oscar Boykin" notifications@github.com wrote:

[image: 👍]

I want to make sure @non https://github.com/non is +1.

I think @TomasMikula https://github.com/TomasMikula is (he suggested
the change) as is @rklaehn https://github.com/rklaehn, which along with
@non https://github.com/non seems like a quorum of the most active
contributors/users.


Reply to this email directly or view it on GitHub
#140 (comment).

@denisrosset
Copy link
Contributor Author

@non, can we merge this ?

@kailuowang
Copy link
Contributor

kailuowang commented Apr 21, 2016

This would be a major breaking change for cats - I suspect that a large portion of cats users( me for sure) will have to change their code. How about we not include this in the next release which will be dependent by 0.5.0 cats release?

@denisrosset
Copy link
Contributor Author

@kailuowang agree that the change is going to break existing code. That will be the case for me on the spire side if spire is merged back with algebra (around 20kloc to be precise).

However, the longer we wait, the more painful it's going to be for users of both libraries.

@rklaehn
Copy link
Collaborator

rklaehn commented Apr 21, 2016

Agree with @denisrosset here. If we want interoperable typeclass based libraries, we need to agree on names. This was discussed at length, and everybody seemed to be OK with the choices. So now algebra just needs to do it.

The alternative is everybody doing his own thing, and the scala ecosystem not being viable for typeclass-based libraries. There is way too much fracturing already.

@johnynek
Copy link
Contributor

Two ideas:

  1. add an implicit enrichment inside object Monoid so that all Monoid instances get .empty that calls .neutral.

  2. just suck it up and keep empty. No library is perfect and there kinds of changes push costs on users. They slow adoption of new versions and justify the fracturing that @rklaehn is speaking of.

I want better shared libraries for scala (I think it may mean we need to build source dependency mechanisms into sbt and those becoming the default, but another story).

I'd vote for 1, I'd support 2. I don't want to jam up users.

@denisrosset
Copy link
Contributor Author

I'd vote for 2)

Let's have a default consistent terminology (empty, combine, remove), instead of the half-baked neutral.

And let's add enrichment methods in Spire.

@non
Copy link
Contributor

non commented Apr 21, 2016

@denisrosset Sounds good to me. Thanks all!

@non
Copy link
Contributor

non commented Apr 21, 2016

To be clear: we will keep empty and combine, and standardize Spire to those names (with aliases to our current names or vice versa).

@non non closed this Apr 21, 2016
@non
Copy link
Contributor

non commented Apr 21, 2016

(Also, I'm sorry that I have been absent from these conversations over the last few months.)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants