An open API service indexing awesome lists of open source software.

https://github.com/ghostdogpr/purelogic

Direct-style pure domain logic for Scala
https://github.com/ghostdogpr/purelogic

direct-style domain logic pure scala

Last synced: 2 months ago
JSON representation

Direct-style pure domain logic for Scala

Awesome Lists containing this project

README

          

# PureLogic

[![Maven Central](https://img.shields.io/maven-central/v/com.github.ghostdogpr/purelogic_3)](https://central.sonatype.com/artifact/com.github.ghostdogpr/purelogic_3)
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)

**PureLogic** is a **[Scala](https://www.scala-lang.org/) open source library** for writing **direct-style, pure business logic** using **context functions** (aka capabilities).

It is designed to be **monad-free**, meaning that effects like `Reader`, `Writer`, `State`, and `Abort` compose naturally through Scala 3's `given`/`using` mechanism instead of monad transformers or for-comprehensions.

It provides an **opinionated way to write pure domain logic** in Scala, using a limited set of primitives.

It has **zero dependencies** and is available for Scala 3.3.x LTS and later versions for Scala JVM, Scala.js, and Scala Native.

### Consult the [Documentation](https://ghostdogpr.github.io/purelogic/) to learn how to use PureLogic.