ContentsQuick linksExternal |
SoftwareHaskell CodeData Parallel Haskell: A high-performance extension to GHCThe Data Parallel Haskell project is about adding support for nested data paralellism to the Glasgow Haskell Compiler (GHC). Nested data parallelism enables a high-level description of a wide range of parallel algorithms, while supporting a language-based cost model. It is also a rather portable form of parallelism, although our current focus for Data Parallel Haskell is SMP hardware, and especially, multi-core processors. C->Haskell: Haskell bindings to C libraries made easyC->Haskell is an interface generator for Haskell bindings to C libraries. Most of the Gtk+HS binding is generated using C->Haskell. λFeed: Generate your own news feeds, blog feeds, podcasts, etc.λFeed generates RSS 2.0 feeds and corresponding HTML from a non-XML, human-friendly format for channels and news items. The tool is in an early development phase and very hackable. VersionTool: Integrate version information into program sources
VersionTool extracts version
information from a Gtk+HS: A library for powerful GUIs in HaskellThis project is no longer under active development. Together with a some other Haskell hackers, I am currently developing a GTK+ Binding for Haskell. It is already usable for GUIs of medium complexity and also features support for OpenGL via Sven Panne's HOpenGL and GtkGLArea as well as a binding to a widget embedding the rendering engine of the Mozilla web browser and libglade. There an experimental wrapper for functional GUI programming in the GTK+ binding now: iHaskell. It is based on the Haskell Ports Library, a new abstraction for modelling time-dependent variables in Haskell. IDoc: Generating interface documentation for your Haskell librariesThis project is no longer under active development. Haskell mixes interface and implementation of a module in a single file, so that it is is difficult to pass the interface to a library user without exposing them to the implementation, too. (This is not about preventing access to the implementation, but about maintaining abstraction barriers between loosely-coupled parts of large software systems.) IDoc is a simple and easy-to-use tool that, for the price of following a couple of simple and non-obstructive conventions, generates interface documentation from Haskell modules, rendering them in markup languages like HTML. MiscellaneousTogether with Gabriele Keller, I wrote a (non-optimized) two-dimensional n-body code based on the Barnes-Hut algorithm. It is meant as a reference implementation - we wrote it to debug a parallel implementation of the algorithm. For more details have a look at the Dagstuhl Barnes-Hut page. Functional languages are very well suited for implementing compilers. The Compiler Toolkit (CTK) provides some core functionality needed in any kind of compiler, like symbol table management, input-output operations, error management. Furthermore, there are now self-optimizing scanner and parser libraries. The latter can be obtained and used stand alone in the Compiler Toolkit Light (CTKlight). Here are two modules from the toolkit that are useful outside the compiler context:
All code is covered by the GPL (or LGPL): use it, share it, hack it! Related to Haskell hacking is the Glasgow Haskell Compiler Commentary. It's aim is to explain the magic behind the Glasgow Haskell Compiler - and, believe me, there is a lot of magic in it. I started the commentary only recently, so the material is still very limited. Moreover, I am the editor of the Haskell 98 Foreign Function Interface Addendum, a proposal for a standardised foreign function interface for Haskell. LaTeX Packages
The
The
The class file GNU/LinuxI wrote a guide to installing GNU/Linux on the Fujitsu S6130 and P5020 entitled "Liberating the Fujitsu S6130 & P5020, or Centrino in the Free World". A while ago, I wrote a similar document for the Dell Latitude C400 notebook under the title "Liberating the Dell Latitude C400", but it is probably not of much value anymore. |
| • Copyright 2005 Manuel M T Chakravarty • Last modified: Thu Jun 8 16:45:35 EDT 2006 • |