The CCA package

[Tags:bsd3, library, program]

A library that provides normalization support via Template Haskell for CCAs, and a modified preprocessor based on Ross Patterson's arrowp that reads Haskell with arrow notation and outputs Haskell 98 + Template Haskell sources for use with CCA library.

[Skip to Readme]


Versions 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5,,,
Dependencies array, base (>=3 && <5), containers, ghc-prim, haskell-src, syb, template-haskell [details]
License BSD3
Author Paul H Liu <>, Eric Cheng <>
Maintainer Paul H Liu <>
Stability Experimental
Category Development
Home page not available
Uploaded Wed Sep 9 15:25:51 UTC 2009 by PaulLiu
Distributions NixOS:
Downloads 3839 total (16 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for CCA

Readme for CCA-0.1

A Library and Preprocessor for Causal Commutative Arrows (CCA)

This library implements the CCA normalization described in the paper [1].
It uses Template Haskell as a staged compilation for arrow programs written
in arrow syntax. A modified arrow preprocesor based on Paterson's arrowp
program, now called ccap, is provided to help preparing proper input to 
Template Haskell. 

Note that this is a preliminary release, and still very experiment. Please
send your feedbacks directly to Paul H. Liu <>, as well as
Eric Cheng <>. All suggestions are welcome.

Last Modified: Wed Sep 09 EDT 2009

[1]: Hai Liu, Eric Cheng, and Paul Hudak. Causal Commutative Arrows and Their
Optimization. Proceedings of the 14th ACM SIGPLAN International Conference on
Functional Programming (ICFP 2009). Edinburgh, Scotland. August 2009