Skip to content

caobinzi/origami

Folders and files

NameName
Last commit message
Last commit date

Latest commit

8d00462 · Jul 28, 2015

History

41 Commits
Jul 24, 2015
Jun 1, 2015
Jul 24, 2015
Jul 24, 2015
Jul 28, 2015
Jul 27, 2015
Jun 1, 2015
Jul 28, 2015
May 14, 2015
Jul 28, 2015
May 14, 2015
Jun 14, 2015
Jul 27, 2015

Repository files navigation

fold Origami


[![Build Status](https://travis-ci.org/ambiata/origami.png)](https://travis-ci.org/ambiata/origami)

The origami project provides "Monadic folds" to process streams of data in a composable fashion.

With monadic folds you can:

  • accumulate state, for example count the number of elements or compute a hash value

  • output results to a file or a database as you compute them

  • display the end value on the console

Moreover folds are composable:

  • you can implement and test folds independently from the data stream they will be used on

  • you can run two folds at the same time without having to make two passes over the data stream

  • you can add side-effects like writing results to a file later on if you need to

Finally, side-effecting folds like Sinks are operating inside a SafeT monad to make sure that resources are always released, even when there are exceptions.

Read the documentation for more information.

Installation

Add the following to your build.sbt file:

resolvers += Resolver.url("ambiata-oss", new URL("https://ambiata-oss.s3.amazonaws.com"))(Resolver.ivyStylePatterns)

libraryDependencies += "com.ambiata" %% "origami" % "1.0"

About

Monadic folds for Scala

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published