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 :)
  • Наука та технологія

КОМЕНТАРІ • 10

  • @VitorLuizC
    @VitorLuizC Рік тому

    It's a pretty cool concept!

  • @hetzge7148
    @hetzge7148 3 роки тому +7

    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 ;)

    • @kubukoz_
      @kubukoz_  3 роки тому

      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.

  • @effektlanguage866
    @effektlanguage866 3 роки тому

    Thanks for the great demo Jakub! We enjoyed it very much :)

  • @rshirkhanov
    @rshirkhanov 3 роки тому

    Thank you for this video!
    But I have some troubles
    Can you help me with State effect's realization, please?

    • @kubukoz_
      @kubukoz_  3 роки тому

      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).

  • @wowzers1237____
    @wowzers1237____ 4 місяці тому

    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.

    • @kubukoz_
      @kubukoz_  2 місяці тому +1

      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 ;)

    • @wowzers1237____
      @wowzers1237____ 2 місяці тому

      @@kubukoz_ Good to hear :) Not that you're a bad looking dude but I'm here to learn

    • @kubukoz_
      @kubukoz_  2 місяці тому

      hahah, indeed, this is a learning space 😅