A library for Functional Reactive programming in Kotlin.
Elegant. Composable. Deterministic.
Unlike kotlinx.coroutines, Yafrl is synchronous by default. This means fewer surprises in your code and better composability, especially in environments like UI frameworks where determinism is crucial.
Yafrl embraces determinism and reproducibility at its core. Its built-in time-travel debugger makes testing and debugging a breeze. Run your business and UI logic in isolation without threading concerns.
Out of the box, Yafrl supports Jetpack Compose and kotlinx.coroutines, allowing seamless integration with existing Kotlin code-bases.