MIT licensed
Maintained by Taylor Fausak
This version can be pinned in stack with:flow-1.0.10@sha256:a29195136e84201b3d138a6be93e82669f3011ade37bf7a3737e7e900968ab6b,1237

Module documentation for 1.0.10

Depends on 1 package(full list with versions):
Used by 1 package in lts-9.21(full list with versions):


Write more understandable Haskell.

Version badge Build badge

Flow is a package that provides functions and operators for writing more understandable Haskell. It is an alternative to some common idioms like ($) for function application and (.) for function composition.


Flow requires a Haskell compiler. It is tested with recent versions of GHC, but older or different compilers should be acceptable. For installation with Cabal, Flow requires at least Cabal 1.8.


To add Flow as a dependency to your package, add it to your Cabal file.

build-depends: flow ==1.0.*

See the change log for a detailed list of changes.


Flow is designed to be imported unqualified. It does not export anything that conflicts with the base package.

import Flow

Cheat sheet

Flow Base
x |> f x & f
f <| x f $ x
apply x f f x
f .> g f >>> g
g <. f g . f
compose f g x g (f x)
x !> f -
f <! x f $! x
apply' x f seq x (f x)

For more information about Flow, please read the Haddock documentation.


Change log

Flow uses Semantic Versioning. The change log is available through the releases on GitHub.