Software
Most of the software I’ve written or contributed significant code towards. Almost all of these are installable with “cabal install“. The bigger applications, like xmonad or yi, are probably in your distro of choice.
I am a member of the infrastructure team for the Haskell Platform.
Cryptography
- nano-md5: Efficient, ByteString bindings to OpenSSL
Data
- adaptive-containers: polymorphic, regular data structures that optimize their representation
- binary: Binary serialisation for Haskell values using lazy ByteStrings
- bytestring: Fast, packed, strict and lazy byte arrays with a list interface
- bytestring-csv: Parse CSV formatted data efficiently
- bytestring-lexing: Parse literals efficiently from bytestrings
- compiled-constants: examples of statically specified data literals
- dlist: Differences lists
- gofer-prelude: A port of the classic Gofer prelude to Haskell
- hinze-stream:Streams and Unique Fixed Points
- judy: Fast, scalable. mutable dynamic arrays, maps and hashes
- liboleg: A collection of Oleg Kiselyov’s Haskell modules
- stream-fusion: Faster Haskell lists using stream fusion
- strict-concurrency: Strict concurrency abstractions
- uvector: Fast unboxed arrays with a flexible interface
- strict: Strict data types and String IO
Development
- ghc-core: Display GHC’s core and assembly output in a pager
- loch: Support for precise error locations in source files
- mkcabal: Generate cabal files for a Haskell project
- nobench: benchmark suite for a Haskell compiler
- typeof: Small script for inferring types
- yi: a text editor written and extensible in Haskell
- vacuum-cairo: a cairo frontend to vacuum, allowing interactive data visualization in ghci
Distribution
- archlinux: Haskell interface to Arch Linux package infrastructure. Generates this table.
- cabal2arch: Create Arch Linux packages from Cabal packages
- cabalgraph: Generate pretty graphs of module trees from cabal files
- lscabal: List exported modules from a set of .cabal files
- darcs-graph: Generate graphs of darcs repository activity
- hackage-sparks: Generate sparkline graphs of hackage statistics
- hackage2hwn: Convert Hackage RSS feeds to wiki format
- hackage-plot: Generate cumulative graphs of hackage uploads
- archnews: Convert Arch Linux package updates in RSS to pretty markdown
Graphics
- printxosd: Simple tool to display some text on an on-screen display
- scaleimage: Scale an image to a new geometry
- testpattern: Display a monitor test pattern
- xosd: A binding to the X on-screen display
- x11: A binding to the X11 graphics library
- hscurses: NCurses bindings for Haskell
- nanocurses: Simple Curses binding
Math
- cmath: A binding to the standard C math library
- mersenne-random-pure64: Generate high quality pseudorandom numbers purely
- mersenne-random: Generate high quality pseudorandom numbers using a SIMD Fast Mersenne Twister
- statistics-fusion: High performance, minimal statistics package using stream fusion
Network
- download-curl: High-level file download based on URLs
- download: High-level file download based on URLs
- gravatar: Find the url of the gravatar associated with an email address
- lambdabot: Lambdabot is a development tool and advanced IRC bot
- rss2irc: Subscribe to an RSS feed and write it to an IRC channel
- urlcheck: Parallel link checker
Sound
System
- bytestring-mmap: mmap support for strict ByteStrings
- cpuperf: Modify the cpu frequency on OpenBSD systems
- h4sh: expose Haskell list functions to the shell
- hs-plugins: Dynamic linking for Haskell and C objects
- hsclock: packaging of standard cairo analogue clock
- goa: GHCi with extensions
- pony: Can I have a pony?
- xmonad: A tiling window manager
- xmonad-contrib: Third party extensions for xmonad
- riot: Riot is an Information Organisation Tool
- randomgen: A fast, SMP parallel random data generator
Text
- pcre-light: A small, efficient and portable regex library for Perl 5 regexen
- liboleg: A collection of Oleg Kiselyov’s Haskell modules
Testing
- pqc: Parallel batch driver for QuickCheck
Web
- json:Support for serialising Haskell to and from JSON
- hpaste: An online pastebin, written in Haskell
Here’s a graph of parts of the Haskell library namespace I’ve contributed to (generated by cabalgraph):
