The Death of Tagless Final by John A. De Goes

  Рет қаралды 13,187

Ziverge

Ziverge

Күн бұрын

Пікірлер: 20
@tepan
@tepan 2 жыл бұрын
It's a great talk, and I enjoy it every time I watch the video again. About the Final Tagless (or Tagless Final) part: 28:32 "Type Classes don't exist in Scala." - OK, but that's not Tagless Final's fault, but Scala's. 29:35 "You also gotta understand the Monad hierarchy. Because in order to ... just do for-comprehensions, you need flat and flatMap, so you gonna need to understand Functor and Apply and Applicative and Bind and then of course Monad, and that's just the start." - One already got to understand the Monad hierarchy in order to understand for-comprehensions, don't they? 32:41 "There is no way to factor out that duplication." Again, Scala is to blame, not Tagless Final. 33:18 "Maybe there should be, but there is not." - (One could have mentioned Haskell here.) 34:34 "Because this is Scala." - Yup. :)
@QRIOART
@QRIOART 3 жыл бұрын
Who is this amazing, charismatic force of nature? Awesome talk!!! 🌞🖖🏽😌
@ZelenoJabko
@ZelenoJabko 3 жыл бұрын
You gheiii?
@QRIOART
@QRIOART 3 жыл бұрын
@@ZelenoJabko YES! And Yes! and yaaaaassss bitch!
@QRIOART
@QRIOART 3 жыл бұрын
And I know the speaker personally. Thank you.
@ZelenoJabko
@ZelenoJabko 3 жыл бұрын
@@QRIOART awesome!!
@MadPengie
@MadPengie Жыл бұрын
Thank you! Really interesting and impressive. I need to relearn how to program.
@YanDoroshenko
@YanDoroshenko Жыл бұрын
If you provide a ZIO[R, _, _] an R, you get a ZIO that doesn't require anything. While type signature ZIO[Any, _, _] specifically indicates that it does, in fact, require anything.
@matroska80
@matroska80 3 жыл бұрын
Eventually someone recorded it!
@imranfp
@imranfp 3 жыл бұрын
Question related with Implicit Parameter List (Everything), How about "modules" that Gabriel explained, adding all dependencies in respective modules and provide the related modules required by the function. Wouldn't decrease that implicit parameter list and make it close to Everything ?
@TJ-hs1qm
@TJ-hs1qm Жыл бұрын
14:31 Reason why call by name style X: => A works for methods within Objects but not within case classes kzbin.info/www/bejne/raS3epZ-ra-Am7M
@ArturSukhenko
@ArturSukhenko 3 жыл бұрын
Thanks.
@ZelenoJabko
@ZelenoJabko 3 жыл бұрын
ZIO seems amazing, he is a great salesman. However, what are the disadvantages?
@guillemgarcia3630
@guillemgarcia3630 3 жыл бұрын
incomprehensible and too much abstracted code. Luckily someday the septifunctor will come to abstract our minds away.
@nikitamyazin6586
@nikitamyazin6586 3 жыл бұрын
I don't know why it was said that it's incomprehensible, I wonder which things for concurrent application are considered to be comprehensible in this case. The concept of an environment in ZIO still feels raw. It's often unclear which things you should put into the effect environment, and which things should be provided locally to not expose implementation details. Also, they have Zlayer thing (which will be renamed in ZIO 2) to build an environment which sounds good on paper but in practice it creates tons of boilerplate and makes it hard to glue everything. To be fair, there is a macro for that and it will be included in ZIO 2, but IMO it only shows that Zlayer is not meant for human usage :) So lack of good and bad practices (yet) and human friendly API for building an environment makes it a really questionable thing at least for me. However, the good thing about that is that you can just not use it at all. In this case, you'll still get great library that is much more comfortable to work with as compared to other effect systems in Scala / to Futures.
@xbmarx
@xbmarx 2 жыл бұрын
You lose the higher-kinded polymorphism of Tagless Final -- i.e. you are passing IO around _everywhere_. This is a tradeoff, it's not necessarily bad. You lose polymorphism (making things less ridiculously easy to test and extend) -- but you gain great abilities to manage dependencies and wire things together.
@georgH
@georgH 3 жыл бұрын
Wow, that's wonderful. Is there anything similar for haskell? Especially in terms of low boilerplate, high performance and full inference
@CarlosSaltos
@CarlosSaltos 3 жыл бұрын
Haskell is already a pure FP language ... Scala is not ... it’s Scala that need to copy from Haskell, no the other way around ... but anyway it’s nice to see Scala FP improve, I love Scala
@LL-ol8gr
@LL-ol8gr 3 жыл бұрын
The start 6:00
@kaktusdono
@kaktusdono 9 ай бұрын
My bald angel
The Rise Of Loom And The Evolution Of Reactive Programming
2:09:55
This Is Your App on Scala 3 by John A. De Goes
1:11:46
Ziverge
Рет қаралды 13 М.
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
The Making of an IO - Daniel Spiewak
55:32
ScalaIO FR
Рет қаралды 27 М.
Tagless Final in Scala
36:13
Rock the JVM
Рет қаралды 11 М.
John A. De Goes at #ScalaUA - Thinking Functionally
51:36
ScalaUA Conference
Рет қаралды 19 М.
Scala: Beyond the basics with Christopher Batey
48:05
Devoxx
Рет қаралды 49 М.
Олег Нижников - Современное ФП с Tagless Final
54:25
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 11 М.
Functional Programming with Effects by Rob Norris
49:43
Scala Days Conferences
Рет қаралды 26 М.