CCA: preprocessor and library for Causal Commutative Arrows (CCA)

[ bsd3, development, library, program ] [ Propose Tags ]

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

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.1.1, 0.1.3, 0.1.4, 0.1.5,,,
Change log Changelog
Dependencies array, base (>=3 && <5), containers, ghc-prim, haskell-src, syb, template-haskell [details]
License BSD-3-Clause
Author Paul H Liu <>, Eric Cheng <>
Maintainer Paul H Liu <>
Category Development
Home page not available
Source repo head: git clone
Uploaded by PaulLiu at 2015-05-08T03:06:09Z
Reverse Dependencies 3 direct, 6 indirect [details]
Executables ccap
Downloads 9093 total (20 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2015-05-08 [all 1 reports]

Readme for CCA-

[back to package description]
A Library and Preprocessor for Causal Commutative Arrows (CCA)

This library implements the CCA normalization described originally in the 
paper [1] (which is now superseded by [2], a more detailed journal version).  
It uses Template Haskell as a staged compilation for arrow programs written
in arrow syntax. A modified arrow preprocessor 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 experimental. Please
send your feedbacks directly to Paul H. Liu <>. All suggestions 
are welcome.

Last Modified: Mon May 12 2014

[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 

[2]: Hai Liu, Eric Cheng, and Paul Hudak. Causal Commutative Arrows. Journal 
of Functional Programming, volume 21, issue 4-5, pp. 467-496. September 2011. 
(Extended journal version of our ICFP09 paper.)