Algebraic effects and handlers in the Effekt language
Вставка
- Опубліковано 2 лип 2024
- This is a different kind of episode - this time there will be no Scala code involved (well, except behind the scenes)!
Today I'm talking about a new, exciting language submitted for OOPSLA: it's called Effekt.
In this video you'll learn what makes the language different from what you might already be used to, and how to work with basic algebraic effects in it.
If you liked the video, please like and subscribe!
Read the code: github.com/kubukoz/videos/blo...
Table of contents:
0:00 - Introduction, hello world
1:23 - Creating custom effects
2:17 - Handling custom effects
3:44 - resume
5:03 - An exception effect with a return value
5:44 - Handling the exception effect
7:47 - "throwing" exceptions
9:47 - Resuming more than once
10:46 - Summary, comparison to FP, parting words
Effekt's website: effekt-lang.github.io/effekt-...
Paper submitted for OOPSLA: ps.informatik.uni-tuebingen.de...
As of now, the compiler is a Scala program running on the JVM, which produces JavaScript output. The compilation times in the video have been sped up, so don't be surprised if it takes a little longer for you :) - Наука та технологія
It's a pretty cool concept!
Thank you very much for this nice video about this very interesting language.
I have a little problem following the content because you are switching to your facecam very fast after you changed some code. My brain isn't that fast and need a little bit more time to process ;)
Thanks! I'm still experimenting with the format, so it's expected that some videos might be harder to follow. Someone already expressed similar concerns, so you're not alone ;) I'll make these less confusing next time.
Thanks for the great demo Jakub! We enjoyed it very much :)
Thank you for this video!
But I have some troubles
Can you help me with State effect's realization, please?
Hi, feel free to ping me on Twitter so I can help you more directly, as I'm pretty sure it won't be one message ;)
I tried to define a polymorphic State effect, but currently the way Effekt works doesn't allow that - you'd need to hardcode the state type in the effect (so basically something equivalent to State[MyType, *] in Scala).
Thanks a lot, awesome, I've been really curious about this language so thank you, BUT - can you please stop editing the video so it's constantly switching back and forth between the screen and your face? Just keep it on the screen please as you explain.
yeah, I learned that lesson from the other comments back when this video was fresh 😅 sorry about that, I promise the other videos don't have this problem.
I guess this is the Effect (wink wink) of me wanting to flex a new camera back then ;)
@@kubukoz_ Good to hear :) Not that you're a bad looking dude but I'm here to learn
hahah, indeed, this is a learning space 😅