API for dataflow

by Jeffrey Straszheim

Usage:
(ns your-namespace
  (:require clojure.contrib.dataflow))

Overview

A library to support a dataflow model of state

Public Variables and Functions



add-cell-watcher

function
Usage: (add-cell-watcher cell key fun)
Adds a watcher to a cell to respond to changes of value.  The is a
function of 4 values: a key, the cell, its old value, its new
value.  This is implemented using Clojure's add-watch to the
underlying ref, and shared its sematics
Source


add-cells

function
Usage: (add-cells df cells)
Given a collection of cells, add them to the dataflow.
Source


build-dataflow

function
Usage: (build-dataflow cs)
Given a collection of cells, build and return a dataflow object
Source


build-source-cell

function
Usage: (build-source-cell name init)
Builds a source cell
Source


build-standard-cell

function
Usage: (build-standard-cell name deps fun expr)
Builds a standard cell
Source


build-validator-cell

function
Usage: (build-validator-cell deps fun expr)
Builds a validator cell
Source


cell

macro
Usage: (cell type & data)
Build a standard cell, like this:

 (cell fred
    (* ?mary ?joe))

Which creates a cell named fred that is the product of a cell mary and cell joe

Or:

 (cell joe
   (apply * ?*sally))

Which creates a cell that applies * to the collection of all cells named sally

Or:

 (cell :source fred 0)

Which builds a source cell fred with initial value 0

Or:

  (cell :validator (when (< ?fred ?sally)
                       (throwf "%s must be greater than %s" ?fred ?sally))

Which will perform the validation
Source


display-cell

multimethod
No usage documentation available
A 'readable' form of the cell
Source


eval-cell

multimethod
No usage documentation available
Evaluate a dataflow cell.  Return [changed, old val]
Source


get-cell

function
Usage: (get-cell df name)
Get the single cell named by name
Source


get-cells

function
Usage: (get-cells df name)
Get all the cells named by name
Source


get-old-value

function
Usage: (get-old-value df env name)
Looks up an old value
Source


get-source-cells

function
Usage: (get-source-cells df)
Returns a collection of source cells from the dataflow
Source


get-value

function
Usage: (get-value df name)
Gets a value from the df matching the passed symbol.
Signals an error if the name is not present, or if it not a single
value.
Source


get-value-from-cell

function
Usage: (get-value-from-cell cell)
Given a cell, get its value
Source


get-values

function
Usage: (get-values df name)
Gets a collection of values from the df by name
Source


print-dataflow

function
Usage: (print-dataflow df)
Prints a dataflow, one cell per line
Source


remove-cells

function
Usage: (remove-cells df cells)
Given a collection of cells, remove them from the dataflow.
Source


source-cell?

function
Usage: (source-cell? cell)
Is this cell a source cell?
Source


update-values

function
Usage: (update-values df data)
Given a dataflow, and a map of name-value pairs, update the
dataflow by binding the new values.  Each name must be of a source
cell
Source
Logo & site design by Tom Hickey.
Clojure auto-documentation system by Tom Faulhaber.