samer@38: Think about algebra of function handles - scanner_add_plotter etc samer@12: are special cases function combinators. What is the most general language samer@12: for function algebra? Is it the arrow algebra restricted to functional arrows? samer@12: samer@12: samer@12: Function combinators samer@12: composition : f*g(x) = f(g(x)) samer@12: parallel composition f+g(x,y)=f(x),g(y) samer@12: samer@12: Function types samer@12: state transformers: S->S samer@12: scanner: Y,X->Y samer@12: folder: X,S->S samer@12: accum: Y,S->X,S samer@12: samer@13: Current special cases: samer@13: scanner_add_plotter samer@13: decorate samer@13: samer@12: Also what about actions? (Function with side-effects or dependence on global state)