Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Feb 01 10:11
    @SystemFw banned @Hudsone_gitlab
  • Jan 31 2019 04:19
    404- forked
    404-/fs2
  • Jan 31 2019 03:01
    SethTisue commented #1232
  • Jan 30 2019 17:22
  • Jan 30 2019 13:45
  • Jan 30 2019 10:48
    pchlupacek commented #1406
  • Jan 30 2019 10:47
    pchlupacek commented #1406
  • Jan 30 2019 10:39
    pchlupacek commented #1407
  • Jan 30 2019 09:58
    lJoublanc commented #870
  • Jan 30 2019 09:42
    vladimir-popov commented #1407
  • Jan 30 2019 08:10
    vladimir-popov closed #1407
  • Jan 30 2019 08:10
    vladimir-popov commented #1407
  • Jan 29 2019 19:20
    SystemFw commented #1407
  • Jan 29 2019 19:20
    SystemFw commented #1407
  • Jan 29 2019 18:57
    SystemFw commented #1406
  • Jan 29 2019 17:47
    pchlupacek commented #1406
  • Jan 29 2019 17:42
    pchlupacek commented #1406
  • Jan 29 2019 17:39
    pchlupacek commented #1407
  • Jan 29 2019 17:39
    vladimir-popov edited #1407
  • Jan 29 2019 17:38
    vladimir-popov commented #1406
Fabio Labella
@SystemFw
another problem is that you are accumulating a List[O] as your output
actually that's the confusion
you are used to the typical accumulator based thing, where you first accumulate the whole result and then you "return it"
but here you want to do this in a streaming fashion, so as soon as you find something that needs to be emitted, you just emit it
and Pull.output/output1 is the command that lets you do so
I can explain the idea behind Pull a bit more in depth, if you want
Peter Aaser
@PeterAaser
To make it very clear, imagine if the stream never reaches enough elements to halt
in that case it would never emit!
When I started out I wish I'd ask what @SystemFw is offering @justinhj
so you should say yes!
Gavin Bisesi
@Daenyth
@SystemFw I'd be interested in hearing about it
Peter Aaser
@PeterAaser
What being pull based entailed did not fully dawn on me for a long while
it was a huge missing piece for me in my internal model of how fs2 worked
Fabio Labella
@SystemFw
@Daenyth sure
I was going on to add a little interlude on how to view effects as languages, but I can skip that if you want
and only focus on Pull
wdyt?
jmcardon @jmcardon gathers for grand wizard Fabio's mini-talk
Fabio Labella
@SystemFw
:P
Peter Aaser
@PeterAaser
how do I do that
the purple text thingy
PeterAaser @PeterAaser attempts to read documentation
Peter Aaser
@PeterAaser
wow, who would have thought
PeterAaser @PeterAaser gathers around the fireplace as the shaman prepares to commune with the spirits of Pull
Fabio Labella
@SystemFw
:joy:
ok enough, I'll better start
although I kind of prefer for the interested people to be there, so they can ask questions if I'm not making any sense...
Peter Aaser
@PeterAaser
Yeah, we should see if he comes back
he must be initiated! He must write his first pipe and be accepted by the tribe as an adult
Gavin Bisesi
@Daenyth
I'm here
sorry
had a $work conversation
Justin Heyes-Jones
@justinhj
@PeterAaser yes that got it! thanks
Fabio Labella
@SystemFw
Right, so, I think a nice way to thinking of effects is as languages
Peter Aaser
@PeterAaser
Glad to hear it, with @SystemFw s blessing the fs2 tribe will now consider you an adult @justinhj
Fabio Labella
@SystemFw
by effects here I mean F[_], like Stream, Pull, IO, but also Option, List or what have you
Gavin Bisesi
@Daenyth
:+1:
Justin Heyes-Jones
@justinhj
@SystemFw yeah the list accumulation was an experiment. I didn't really want to do it that way because it felt wrong
Forgot to delete it from the gist
Fabio Labella
@SystemFw
these languages have some words that are unique to them (e.g. only Stream has uncons), and some that are abstracted in algebras (e.g.flatMap, since they are all monads)
so, what's a Pull
the first thing is that fs2 is a pull based streaming library
Justin Heyes-Jones
@justinhj
If you do want to go into detail on Pull I am all ears
Fabio Labella
@SystemFw
yep, will do, it's not that hard, no worries :)
Gavin Bisesi
@Daenyth
I've encountered the pull-ness :)
Peter Aaser
@PeterAaser
ps F[_] looks like a coffee cup with a weird handle
Gavin Bisesi
@Daenyth
a bit of a mind bend at first but I also am used to python's lazy iterables a fair bit so it's not so alien
Fabio Labella
@SystemFw
and every pull based streaming library, even those with complex implementations like fs2, can roughly be understood like advanced iterators
Peter Aaser
@PeterAaser
totally gonna use that for my next analogy-fest
Fabio Labella
@SystemFw
where you basically need to tell it "give me the next one" to make things happen