Leverages Scala 3's advanced type system to provide seamless effect tracking • Properly suspends side effects and supports multi-shot continuations What is Kyo?
algebraic effects • Leverages Scala 3's advanced type system to provide seamless effect tracking • Properly suspends side effects and supports multi-shot continuations • Provides a separate direct syntax dialect module and an advanced combinators module
algebraic effects • Leverages Scala 3's advanced type system to provide seamless effect tracking • Properly suspends side effects and supports multi-shot continuations • Provides a separate direct syntax dialect module and an advanced combinators module • A real-world engineering project. Not experimental!
values. For example, injecting or transforming values • Can resume zero, one, or n times • Unlocks next-level expressivity without language changes The power of suspension
• Unboxed representation of plain pure values • Inlining as computation staging • Two kinds of effect: ContextEffect and ArrowEffect for performance + forking Bridging the real-world gap
• Unboxed representation of plain pure values • Inlining as computation staging • Two kinds of effect: ContextEffect and ArrowEffect for performance + forking • Isolates to enable forking with effects Bridging the real-world gap
and John Hungerford for the long-time steady contributions! • Feedback is appreciated, even if negative :) • We'd love to collaborate on a formal proof Conclusion
and John Hungerford for the long-time steady contributions! • Feedback is appreciated, even if negative :) • We'd love to collaborate on a formal proof • Keep an eye out for the 1.0-RC1! Conclusion