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 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 [faq] 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 BSD-3-Clause
Author Paul H Liu <>, Eric Cheng <>
Maintainer Paul H Liu <>
Category Development
Home page not available
Uploaded by PaulLiu at 2009-09-09T21:09:59Z
Distributions NixOS:
Executables ccap
Downloads 8313 total (33 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for CCA-0.1.1

[back to package description]
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