Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Bidirectional theoretically-sound iteratee-like pipelines in Scala with Scalaz
Scala Shell
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
project
src/main/scala/org/ptflame/pipes
.gitignore
.travis.yml
README.md
build.sbt
sbt

README.md

scala-pipes

scala-pipes is an in-progress port to Scala and Scalaz of Gabriel Gonzalez's pipes, pipes-safe, and pipes-parse libraries for Haskell.

The design of scala-pipes revolves around a central, polymorphic abstraction: Proxy, implemented as a type class. All instances of Proxy can be treated as a kind of bidirectional enumerator, iteratee, or enumeratee. There is only one type (per Proxy transformer), similar to an enumeratee, and enumerator- and iteratee-equivalents are simply type synonyms over the type in question, themselves inherently polymorphic over the underlying Proxy.

There is one base Proxy, ProxyBaseT, which is a Monad transformer in addition to being a Proxy. Layerable on top of any other Proxy are various Proxy transformers, including:

  • IdentityP
  • ReaderP
  • IndexedStateP (not implemented yet)
  • WriterP (not implemented yet)
  • IndexedReaderWriterStateP (not implemented yet)
  • EitherP (not implemented yet)
  • OptionP
  • TryP (not implemented yet)
  • CodensityP (not implemented yet)

    scala-pipes currently depends on scalaz-7.0.2.

Something went wrong with that request. Please try again.