-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Introduce Monoidal
#817
Comments
👍 for adding a type class that is I'm not sold on the name |
@mpilquist Yes, I’ve already written something like the following: trait Something[F[_], A] {
…
}
object Something {
implicit def monoidal[F[A]](implicit F: Monoidal[F]): Monoidal[Something[F, ?]] = …
} Basically, my (edit: It was actually |
I also use it here: https://github.com/julienrf/play-products/blob/master/src/main/scala/julienrf/products/Builder.scala#L11 (Play’s |
@mpilquist I don’t remember if we already debate of this, but what would be your opinion on having a member |
@julienrf I'm neutral on |
That’s what I think too! |
👍 (with |
I'm fine with the name |
👍 sounds like there's agreement - let's go for it. I'm wondering if adding |
What is the rationale for having |
@non To get |
Aha, right! That makes total sense. Ignore me! 😄 |
@non yeah, I think my comment about divisible was bogus. I almost deleted it yesterday, but I decided it's okay to be wrong on the internet :P |
@julienrf I just noticed your edit to this comment—does that mean you don't have a practical use case for this new type class right now? I was thinking it'd be a good idea to get this into 0.4.0 if you did, but if not I'd be a lot happier to let this wait. |
We can let this wait. |
Is this effectively taken care of now? |
I'm going to close this out as a stale issue. I think that we are pretty stable on this front, with |
#795 renamed
Monoidal
intoCartesian
and introduced new laws forApplicative
. To push further this work and have a proper support ofMonoidal
invariant and contravariant structures, I think we should follow these steps:Monoidal
typeclassApplicativeLaws
toMonoidalLaws
Applicative
(resp.ApplicativeLaws
) in terms ofMonoidal
(resp.MonoidalLaws
)Monoidal
for as many data types as possible (e.g.Applicative
but alsoShow
,Const
, etc.)The text was updated successfully, but these errors were encountered: