Can not decide if I should rewatch this 10 times or not lol
@WayneKSeymourIIIProgrammer6 жыл бұрын
I know what you mean!
@wongsterful7 жыл бұрын
After watching prof. Frisby on egghead.io and the pluralsight video and reading your medium articles. I think this was the best video with the most concrete, succinct examples of programming functionally. Brain melts as always. Thanks prof!
@piq-dg3vz7 жыл бұрын
Prof. Frisby!
@ekejma7 жыл бұрын
This is wonderful addition to Proffessor Frisby's Mostly Adequate Guide to FP.
@dziamidzayankouski94375 жыл бұрын
Having watched this a few times, I kind of feel guilty now every time i write `const` or `if` statement
@TheSldsnake4 жыл бұрын
Prof. Frisby, its a fk legend !
@RichardRouzeau8 жыл бұрын
I think I've had a brain spasm.
@kearfedoc7 жыл бұрын
Great talk.
@carlosiglesias83546 жыл бұрын
It's Magic
@fanjesse62523 жыл бұрын
super power
@BladeAurora7 жыл бұрын
For the react composed application, what type is Component and Reducer? Are they more than functors?
@satyrkrieg7 жыл бұрын
Do you think ramda should be enough to do point free style? Or is it missing some function provided by pointfree-fantasy?
@brianlonsdorf49067 жыл бұрын
ramda-fantasy has it covered now i think.
@satyrkrieg7 жыл бұрын
nice, thanks for the reply. Loving this paradigm way better than imperative.
@oscill8ocelot7 жыл бұрын
These are monads...
@lnplum7 жыл бұрын
Counterpoint: this results in denser code and makes it really difficult/unreadable when you need to fork and merge different results and your code no longer nicely fits into a single linear sequential flow of data. Compare a = await foo() b = await someStuffWith(a) c = await bar() d = await somethingWith(a, c) vs foo() .map(a => someStuffWith(a) .map(b => bar()) .map(c => somethingWith(a, c)) ) Basically, every additional input results in additional nesting, just like in the callback example. I've been there and it's not pretty.
@brianlonsdorf49067 жыл бұрын
This is why I suggest to learn Applicative as one of the six "Box" interfaces. It gives you the ability to do: liftA2(stuffWithAnB, getA, getB) But that's general enough to capture any Box, be it Stream/List/Observable/Promise/Either/Identity/Maybe etc. In addition to that, there's Profunctors and Arrows which allow complex forking/merging like a general Rx if need be.
@brianlonsdorf49067 жыл бұрын
I should mention, I've never "needed" arrow. That's just a fun way to fork things if one wants to get creative
@lnplum7 жыл бұрын
Sure, but you're murdering your escape hatches. Forcing people to think about the code they write may prevent technical debt, but that can be paralyzing in situations where you'd normally have the choice between technical debt or technical bankruptcy.