Haskell Arrow combinators in Coffeescript.
CoffeeScript Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
docs
example
src
test
.gitignore
.travis.yml
Makefile
README.md
app.yaml
package.json
poormanstest.coffee

README.md

samsara Build Status

To flow on, to perpetually wander, to pass through states of existence.

{ Cont , Proc , runProc } = require "samsara"

print = (x) -> -> console.log x
pause = Cont (_, r) -> setTimeout r, 1000

countDown = Proc( print 3 ).then( pause ).
            then( print 2 ).then( pause ).
            then( print 1 ).then( pause ).
            then( print "Lift off!" )

runProc countDown, ->

Examples

Install

It's not necessary to install samsara to use it in a web browser, just link to it with a script tag.

<!doctype html>
<html>
  <head>
    <script src="//samsara-cdn.appspot.com/samsara.min.js"></script>

To use it as a Node module:

$ npm install samsara

Contribute

$ git clone git://github.com/luciferous/samsara.git
$ cd samsara
$ npm install --dev
$ make dist