Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • 00:22
    johnynek commented #4264
  • Jul 02 22:39
    TonioGela commented #4264
  • Jul 02 17:49
    TonioGela synchronize #4264
  • Jul 02 17:45
    TonioGela commented #4264
  • Jul 02 17:44
    TonioGela commented #4264
  • Jul 02 17:42
    armanbilge commented #4264
  • Jul 02 17:40
    TonioGela edited #4264
  • Jul 02 17:39
    armanbilge edited #4264
  • Jul 02 17:39
    armanbilge labeled #4264
  • Jul 02 17:39
    TonioGela edited #4264
  • Jul 02 17:38
    TonioGela opened #4264
  • Jul 02 03:25
    armanbilge edited #2607
  • Jul 02 02:43
    stephen-lazaro synchronize #2607
  • Jul 02 02:30
    armanbilge commented #2607
  • Jul 02 02:11
    stephen-lazaro commented #2607
  • Jul 02 02:02
    stephen-lazaro synchronize #2607
  • Jul 02 02:00
    stephen-lazaro synchronize #2607
  • Jul 01 23:10

    github-actions[bot] on gh-pages

    deploy: cf8a87a73215caddeb8dd03… (compare)

  • Jul 01 23:06
    armanbilge closed #4255
  • Jul 01 23:06
    armanbilge closed #4251
Kai(luo) Wang
@kailuowang
@djspiewak my ninja mask is the ultimate mask of all time. It’s INVISIBLE!
BennyHill
@BennyHill
heh, so are the voters on #1682
(OK, sorry for hassling: I can help this w/e, probably not otherwise before current 1.0.0-MF release date )
Edmund Noble
@edmundnoble
Why stop publishing the cats bundle if the only problem with it is the laws?
BennyHill
@BennyHill
the issue (for some) is that the laws drag in scalacheck,etc
Edmund Noble
@edmundnoble
Right but why don't we just take out laws from the cats bundle?
Most people do not care about our "modules". They just want all of the useful parts of cats.
BennyHill
@BennyHill
then you would vote "b) Keep as-is but minus test libs"
or d), and rename to, say cats-all
Edmund Noble
@edmundnoble
Right. I'm just wondering about your reasons for supporting removing it outright.
BennyHill
@BennyHill
no reason, just a very personal choice
Kai(luo) Wang
@kailuowang
a cats bundle without laws will be just core and free.
BennyHill
@BennyHill
FWIW, I've been through all the other 4 as my top choice, but ended on "remove" just to be done with it . works fine in circe, another factor that swayed me
Edmund Noble
@edmundnoble
That's fair.
Kai(luo) Wang
@kailuowang
another complaint we had is empty jar of the root module. typelevel/cats#1521
BennyHill
@BennyHill
removing only "provided we give clear documentation similar to circe Quick start (N.B. circe seems to work fine with this method)"
Edmund Noble
@edmundnoble
Regardless we need a migration guide for 1.0.
Kai(luo) Wang
@kailuowang
circe has more modules, ours will be simple, if you need free use “cats-free” otherwise use “cats-core”, if you want test your own instances using cats laws, well that’s a different story.
BennyHill
@BennyHill
Yep, nice point.
And btw, another reason I came across for moving alleycats into cats, was that a few people I met had never heard of alleycats. Now, that can happen to any library that is not a "batteries-included-uber-lib", but the typeclasses in alleycats are fairly basic/common ones
eg Pure, One, Extract, Empty, instances for Try and so on
Edmund Noble
@edmundnoble
Most people do not know what alley cats is, yes.
I think Foldable should be moved there too.
BennyHill
@BennyHill
Ahh... alleycats has two dependencies on algebra, in One and zero
Michael Pilquist
@mpilquist
:-1: on moving Foldable
Edmund Noble
@edmundnoble
Why?
Michael Pilquist
@mpilquist
B/c I'm not convinced by the lawless argument
Edmund Noble
@edmundnoble
Not convinced of what? If we are allowing lawless type classes in cats we don't need type classes in alleycats.
Michael Pilquist
@mpilquist
I'm not convinced it is lawless
Edmund Noble
@edmundnoble
We are not being consistent. Unless you're arguing that Foldable is too useful to exclude despite its lawlessness, in which case nobody has even been able to make the case for Empty, EmptyK, Pointed, etc.
Oh.
Do you have laws in mind?
Michael Pilquist
@mpilquist
It's just toList
Haskell community has had this argument a dozen times over
There's also #107, which would be impossible to implement if Foldable was moved
Edmund Noble
@edmundnoble
Right but that's because modularity is antithetical to cohesive design.
Michael Pilquist
@mpilquist
Which in practice means we end up with some ad-hoc selection of useful methods promoted to Traverse
Edmund Noble
@edmundnoble
I really don't care if the Haskell community argues about this a lot. toList has no laws attached that aren't guaranteed by parametricity. And Foldable derivation from Traverse is practically very inefficient and not stack-safe or lazy.
BennyHill
@BennyHill
There is already some Foldable syntax in alleycats
Edmund Noble
@edmundnoble
Now if "the only laws that exist are guaranteed by parametricity" are enough for something to be a type class (which I don't see an issue with) then FunctionK is a type class.
ie having alleycats under cats would facilitate this in some, but not all, cases
Edmund Noble
@edmundnoble
Regardless I am really not that strongly in favor of moving Foldable. I do think however that a FreeMonoid typeclass would be a useful addition to the Foldable hierarchy, and that would have extra checkable laws.
The same Foldable/Traverse problem arises with Zero/Monoid but it's not really a problem there, just because of implicit derivation.
BennyHill
@BennyHill
so re the algebra dependency on alleycats, that (I think) would currently be a blocker on this
and, tbh, is probably currently not quite right anyway
Kai(luo) Wang
@kailuowang
what’s wrong with alleycats depending on algebra?
BennyHill
@BennyHill
well the bigger problem is moving into cats repo
as algebra depends on cat-kernel
but even so, this was all done before the cats-core and cats-kernel split
so now, today, an algebra user that wants ,say additiveMonoidIsZero would also have to bring in cats, as well