Yet Another Functional Reactive Library (yafrl) is a small library for functional reactive programming in Kotlin -- meant to provide an alternative
to constructs from kotlinx-coroutines such as Flow and StateFlow.
For more information, including potential use-cases and some concrete advantages over Flows, see the docs.
For non-multiplatform Android / JVM projects:
dependencies {
// Basic functionality of the library
implementation("io.github.yafrl:yafrl-core-jvm:0.3")
// Optional: kotlinx.coroutines.flow integrations
implementation("io.github.yafrl:yafrl-core-jvm:0.3")
// Optional: Utilities for testing yafrl programs
implementation("io.github.yafrl:yafrl-testing-jvm:0.3")
// Optional: Jetpack Compose integrations
implementation("io.github.yafrl:yafrl-compose-jvm:0.3")
// Optional: Integrations for arrow-optics
implementation("io.github.yafrl:yafrl-optics-jvm:0.3")
}For KMP projects (Kotlin DSL):
kotlin {
sourceSets {
val commonMain by getting {
dependencies {
// Basic functionality of the library
implementation("io.github.yafrl:yafrl-core:0.3")
// Optional: kotlinx.coroutines.flow integrations
implementation("io.github.yafrl:yafrl-core:0.3")
// Optional: Utilities for testing yafrl programs
implementation("io.github.yafrl:yafrl-testing:0.3")
// Optional: Jetpack Compose integrations
implementation("io.github.yafrl:yafrl-compose:0.3")
// Optional: Integrations for arrow-optics
implementation("io.github.yafrl:yafrl-optics:0.3")
}
}
}
}