makiftutuncu / effect   0.3.1

MIT License GitHub

A basic, home-made functional effect system with powerful errors

Scala versions: 3.x

Effect

Table of Contents

  1. Introduction
  2. Installation
  3. Development and Testing
  4. Contributing
  5. License

Introduction

Effect is a basic, home-made functional effect system with powerful errors.

A value of type Effect[A] is a description of a computation that can produce a value of type A, can fail with an error E, can fail unexpectedly with a Throwable or can be interrupted.

Effect has only one type parameter. Effect[A] is mentally equivalent to ZIO[Any, E, A] where error type E is fixed to the error model e.scala.E.

Effect is only a functional effect and not a complete solution to everything.

Installation

Add following to your build.sbt (for now, Scala 3 only):

libraryDependencies += "dev.akif" %% "effect-core" % "0.3.1"

Development and Testing

Effect is built with SBT. So, standard SBT tasks like clean, compile and test can be used.

To run all tests:

sbt test

To run specific test(s):

sbt 'testOnly fullyQualifiedTestClassName1 fullyQualifiedTestClassName2 ...'

Contributing

All contributions are welcome. Please feel free to send a pull request. You may check project page for current status of development and issues. Thank you!

License

Effect is licensed with MIT License.