Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Gabriel Volpe
@gvolpe
It's published in the site: https://fs2.io/ecosystem.html
Probably that other list in the README can be removed (making sure all projects listed are present in ecosystem.md :D )
Rob Norris
@tpolecat
I will give all of you a dollar if you stop using threads. It's making me crazy.
Lucas Satabin
@satabin
Sorry, I didn't want to pollute the main thread
Gavin Bisesi
@Daenyth
@tpolecat I just switched gitter to never show unread notifications, "mute" behavior globally :/
they've given no thought to the usability in large groups sadly.
Rob Norris
@tpolecat
notifications help me feel like i'm not sitting here all alone every day so i kind of like them
Adam Rosien
@arosien
me too :)
Gavin Bisesi
@Daenyth
I like them as well, but anyone using threads makes the notifications unbearable :/
in a channel with 2000+ people... impossible to make them stop since gitter removed the control switch :(
Adam Rosien
@arosien
i just hulk smash all the buttons until they go away
Gavin Bisesi
@Daenyth
I wish that worked for me :)
I will say I'm not too unhappy with toning down the alerts, easier to spend less time in chat and focus better. Attention span is precious and tools out there just do nooot value it
Rob Norris
@tpolecat
hulk smash is underrated
Fabio Labella
@SystemFw
I'm actually happy that notifications work for every thread, even ones that you don't follow
or I'd be missing most questions (just like in Slack). I do declare bankruptcy anyway with mark-all-messages-as-read, but at least it's a conscious decision
Gabriel Volpe
@gvolpe
Slack takes you to the thread if you click on the notification... Gitter, well go and guess :laughing:
Gavin Bisesi
@Daenyth
yeah, long-lived threads a pain because I have an unread notification and no indication whatsoever of where the message is
Bia
@bialol
Yeah, same here. Gitter is a slow, but with threads, I can’t refresh and see what I missed. I have to find whatever thread that holds the message and press it. :p
Bob Glamm
@glammr1

I will give all of you a dollar if you stop using threads. It's making me crazy.

And my first thought was "huh, maybe I should start using Fibers everywhere"

.. /me reads rest of comments
"oh, those threads"
Gavin Bisesi
@Daenyth
I don't suppose anyone has Dhall types lying around for circleci configs?
I'm getting REAL sick of stupid yaml schema errors
hmm google has some...
Billzabob
@Billzabob
What is it that makes Functor.widen safe? I think I remember someone explaining it at some point but I can’t remember. Something about “all functors are covariant” or something like that.
Adam Rosien
@arosien
the signature requires the super type witness: def widen[A, B >: A](fa: F[A]): F[B]
Billzabob
@Billzabob
Ya, but even if B >: A that doesn’t necessarily mean that F[B] >: F[A] right?
Gavin Bisesi
@Daenyth
A <: B can be expressed as A => B and Functor says (A => B) => (F[A] => F[B]), then F[A] => F[B] says F[A] <: F[B]
Billzabob
@Billzabob
Aha! I think that’s what I was remembering :) Thanks, that helps a lot
Rob Norris
@tpolecat
F[A] implies F[B] if A <: B because A => B is a no-op a: B
This message was deleted
Gavin Bisesi
@Daenyth
cats functor is also known as "Covariant Functor", which is a subtype of "Invariant Functors" cats.Invariant and contrasts with "Contravariant Functors" cats.Contravariant
Rob Norris
@tpolecat
Anyway the conditions where you can declare Foo[+A] and define lawful Functor[Foo] are the same (assuming your data type is truly parametric and never looks at the As) but Scala doesn't know this.
Yilin Wei
@yilinwei
It threw me for a loop because it's possible to have lawful instances for the opposite variance, i.e. if you have F[+_], you can still define contravariant for certain datatypes.
Yilin Wei
@yilinwei
For example here, which is some of the experiments we've been doing for profunctor optics for monocle 3.
matfournier
@matfournier
Am I right in my understanding that there is no overhead in type Id[A] = A, since it's just identity to the compiler?
Adam Rosien
@arosien
@Billzabob also remember that [B >: A] is actually passed as an implicit value ev: A <:< B, and <:<[A, B]extends Function1[A, B]
Yilin Wei
@yilinwei
I have a question; has anyone had experience with paradox?
Billzabob
@Billzabob
@arosien No way? I’ve seen ev: A <:< B before but didn’t know that [B >: A] desugars to that. Good to know!
Michael Pilquist
@mpilquist
wait is that really true?
no, that's not true :)
Billzabob
@Billzabob
Ah ok, it kinda made sense since that’s how context bounds work.
Where are the implicit instances of <:< defined? I can’t find it.
Michael Pilquist
@mpilquist
off the top of my head, Predef
Billzabob
@Billzabob
Thanks
Adam Rosien
@arosien
there's no >:>, so i'm assuming it gets transformed to <:<
Billzabob
@Billzabob
So implicit def refl[A]: A =:= A = singleton.asInstanceOf[A =:= A] also provides the instances for <:< right? I need to give that some thought to make some sense of it.
Michael Pilquist
@mpilquist
>: and <: are built in to scala's type system whereas <:< and =:= are just regular 2 param type classes with implicit instances