Yafrl Logo

Yafrl

A library for Functional Reactive programming in Kotlin.
Elegant. Composable. Deterministic.

Get Started

Why Yafrl?

Signal Graph

Synchronous by default

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.

Cat Testing

Easy to test

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.

Jetpack Compose

Integrations

Out of the box, Yafrl supports Jetpack Compose and kotlinx.coroutines, allowing seamless integration with existing Kotlin code-bases.