Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A stream processing library for Scala
Scala Shell
Branch: master

v1.0.1

latest commit 6161245592
@joshcough joshcough authored
Failed to load latest commit information.
project Dependency upgrades & a 2.11-only warning.
src scalaz 7.1
.gitignore Machines and steps
.travis.yml scalaz 7.1
LICENSE Added publishing to Bintray.
README.md Update README.md
build.sbt v1.0.1
sbt First commit

README.md

Machines

Machines are demand-driven coroutines. They are similar to Pipes, Conduits, or Iteratees, but can support inputs of arbitrary complexity and are entirely pure. Instead of having monadic effects of its own, a Machine can be driven by a Driver which can have effects when feeding the Machine input or when reading its output.

You design a Machine by writing a Plan. You then compile the machine if it is to run once to completion, or designate it to run repeatedly. Plan provides a monadic API for building machines, but Machines themselves do not form a monad.

Simple machines that read from one input source are called a Process and processes form a Category. More generally you can attach a Process to the output of any type of Machine, yielding a new Machine.

More complicated machines provide other ways of connecting to them.

Binary packages available at https://bintray.com/runarorama/maven/machines

Something went wrong with that request. Please try again.