Skip to content

Port to Arrow of the Code repo for Functional and Reactive Domain Modeling

License

Notifications You must be signed in to change notification settings

arrow-kt/frdomain.kt

 
 

Repository files navigation

frdomain-extras.kt

Arrow port of the additional Functional and Reactive Domain Modeling code samples (Chapter 6). You can find the Scala version here.

This project contains three implementations:

  • Arrow-Fx - Typed FP Effects Library that makes tracked effectful programming first class in Kotlin built on top of Kotlin’s suspend system
  • [DEPRECATED] Implementation specialized with Arrow IO and Arrow Fx
  • [DEPRECATED] Taggess final approach implemented with:

From the book page:

Functional and Reactive Domain Modeling teaches you how to think of the domain model in terms of pure functions and how to compose them to build larger abstractions. You will start with the basics of functional programming and gradually progress to the advanced concepts and patterns that you need to know to implement complex domain models. The book demonstrates how advanced FP patterns like algebraic data types, typeclass based design, and isolation of side-effects can make your model compose for readability and verifiability. On the subject of reactive modeling, the book focuses on higher order concurrency patterns like actors and futures. It uses the Akka framework as the reference implementation and demonstrates how advanced architectural patterns like event sourcing and CQRS can be put to great use in implementing scalable models. You will learn techniques that are radically different from the standard RDBMS based applications that are based on mutation of records. You'll also pick up important patterns like using asynchronous messaging for interaction based on non blocking concurrency and model persistence, which delivers the speed of in-memory processing along with suitable guarantees of reliability.

About

Port to Arrow of the Code repo for Functional and Reactive Domain Modeling

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%