This page is a list of open source software products I've contributed to in the last few years, with links to project pages or downloadable source code.
This page is a list of open source software products I've contributed to in the last few years, with links to project pages or downloadable source code.
KURE (pronounced cure) is a Haskell hosted Domain Specific Language (DSL) for writing transformation systems based on rewrite strategies. KURE is a strongly typed strategy control language in the tradition of Stratego and Strafunski. It is intended for writing reasonably efficient rewrite systems, makes use of type families to provide a delimited generic mechanism for tree rewriting, and provides support for efficient identity rewrite detection.
Webpage hackage (kure) hackage (kure-your-boilerplate)
ChalkBoard is a Haskell library for creating and processing images, as well as building small animations. The basic structure is a chalk board, a two-dimensional canvas of values, typically colors. ChalkBoard provides the usual image processing functions (masking, overlaying, function mapping, cropping, warping, rotating) as well as a few more unusual ones. Images can be imported into Chalkboard, as first-class color chalk boards. ChalkBoard also provides combinators for drawing shapes on directly on boards.
Timber is a general programming language specifically aimed at the construction of complex event-driven systems. It allows programs to be conveniently structured in terms of objects and reactions, and the real-time behavior of reactions can furthermore be precisely controlled via platform-independent timing constraints. This property makes Timber particularly suited to both the specification and the implementation of real-time embedded systems.
Haskell Program Coverage (HPC) is a high-fidelity coverage tool for Haskell, now in widespread use throughout the Haskell community. It is included with the standard GHC distribution. The link below provides support for reading and writing the HPC internal file format.
data-reify provided the ability to turn recursive structures into explicit graphs. Many (implicitly or explicitly) recursive data structure can be given this ability, via a type class instance.
Apart from the libraries and DSLs listed above, there are also a number of smaller libraries that are released on hackage.haskell.org.
| Library | Description |
|---|---|
| httpd-shed | A trivial web server that can be used to build Ajax and other interactive applications in Haskell. |
| io-reactive | An API for generating reactive objects that mimic the reactive model used used in the TIMBER programming language. |
| marked-pretty | A compatible extension to pretty that allows marking and scoping of the output document. A typical application is outputting pretty HTML with style attributes like bold and color. |
| dotgen | A simple interface for building .dot graph files, for input into the dot and graphviz tools. It includes a monadic interface for building graphs. |
Offline TeX Processing (OTP) is a mechanism to incorporate generic offline text processing into TeX and LaTeX workflows, without needing pre-processors. A typical application of OTP is smart layout and presentation of program text in LaTeX documents. It is an extension of the popular LaTeX package fancyvrb.
| Copyright 2009 Andy Gill | Last updated: Thu Nov 5 08:51:03 CST 2009 |