Skip to content

Instantly share code, notes, and snippets.

@philipnilsson
philipnilsson / gist:8378133
Last active February 25, 2016 23:54
Waterflow python
import functools
def scanl(f,x,it):
return functools.reduce(lambda xs, y: xs + [f(xs[-1],y)], it, [x])
def scanl1(f, it):
return scanl(f, it[0], it[1:])
def scanr1(f, it):
return reversed(scanl1(f, list(reversed(it))))
// Some functional utilities
const map = f => arr => arr.map(f);
const id = x => x;
const concat = xs => [].concat(...xs);
const fold = (f, init) => xs => xs.reduce(f, init);
const sum = fold((x, y) => x + y, 0);
// Nested-list algebras
function alg(leaf, branch) {
return nested => nested instanceof Array
-- Run a stateful computation and on completion
-- restore state to it's current value.
excursion st = do
oldState <- get
st
put oldState

Keybase proof

I hereby claim:

  • I am philipnilsson on github.
  • I am philip_nilsson (https://keybase.io/philip_nilsson) on keybase.
  • I have a public key ASDIhySUyBJvD-Ahd2EPn5ikDIUtBx35zxE7GnupBor34Ao

To claim this, I am signing this object:

(setq-default line-spacing 4)
;; Supress initial scratch message
(setq initial-scratch-message nil)
(require 'package)
(add-to-list
'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
import Control.Monad (void)
import Control.Applicative
import Data.Foldable (for_)
import Data.Monoid
import Text.Printf
data Attributed m w a = Attributed (m a) w
instance Functor m => Functor (Attributed m w) where
fmap f (Attributed m w) = Attributed (fmap f m) w

Keybase proof

I hereby claim:

  • I am philipnilsson on github.
  • I am philip_nilsson (https://keybase.io/philip_nilsson) on keybase.
  • I have a public key ASDHkjtDR2r-GC38Hf-Nfgu3rvC7nksXqOKS7_8EYji1swo

To claim this, I am signing this object: