Haskell Communities and Activities Report
Total Page:16
File Type:pdf, Size:1020Kb
Haskell Communities and Activities Report http://www.haskell.org/communities/ Sixteenth Edition — May 2009 Janis Voigtländer (ed.) Peter Achten Andy Adams-Moran Lloyd Allison Tiago Miguel Laureano Alves Krasimir Angelov Heinrich Apfelmus Emil Axelsson Arthur Baars Justin Bailey Alistair Bayley Jean-Philippe Bernardy Clifford Beshers Gwern Branwen Joachim Breitner Niklas Broberg Björn Buckwalter Denis Bueno Andrew Butterfield Roman Cheplyaka Olaf Chitil Jan Christiansen Sterling Clover Alberto Gómez Corona Duncan Coutts Jácome Cunha Nils Anders Danielsson Atze Dijkstra Robert Dockins Chris Eidhof Conal Elliott Henrique Ferreiro García Marc Fontaine Nicolas Frisby Peter Gavin Patai Gergely Brett G. Giles Andy Gill George Giorgidze Dimitry Golubovsky Daniel Gorin Jurriaan Hage Bastiaan Heeren Claude Heiland-Allen Aycan Irican Judah Jacobson Jan Martin Jansen Wolfgang Jeltsch Florian Haftmann Kevin Hammond Enzo Haussecker Christopher Lane Hinson Guillaume Hoffmann Martin Hofmann Creighton Hogg Csaba Hruska Liyang HU Paul Hudak Graham Hutton Farid Karimipour Garrin Kimmell Oleg Kiselyov Lennart Kolmodin Slawomir Kolodynski Michal Konečný Eric Kow Stephen Lavelle Sean Leather Huiqing Li Bas Lijnse Ben Lippmeier Andres Löh Rita Loogen Ian Lynagh John MacFarlane Christian Maeder José Pedro Magalhães Ketil Malde Blažević Mario Simon Marlow Michael Marte Bart Massey Simon Michael Arie Middelkoop Ivan Lazar Miljenovic Neil Mitchell Maarten de Mol Dino Morelli Matthew Naylor Rishiyur Nikhil Thomas van Noort Johan Nordlander Jeremy O’Donoghue Patrick O. Perry Jens Petersen Simon Peyton Jones Dan Popa Fabian Reck Claus Reinke Alexey Rodriguez Alberto Ruiz David Sabel Ingo Sander Uwe Schmidt Martijn Schrage Tom Schrijvers Paulo Silva Ben Sinclair Ganesh Sittampalam Martijn van Steenbergen Dominic Steinitz Don Stewart Jon Strait Martin Sulzmann Doaitse Swierstra Wouter Swierstra Hans van Thiel Henning Thielemann Wren Ng Thornton Phil Trinder Jared Updike Marcos Viera Miguel Vilaca David Waern Malcolm Wallace Jinjing Wang Kim-Ee Yeoh Brent Yorgey 2 Preface This is the 16th edition of the Haskell Communities and Activities Report. There are a number of completely new entries and many small updates. As usual, fresh entries are formatted using a blue background, while updated entries have a header with a blue background. Entries on which no activity has been reported for a year or longer have been dropped. Please do revive them next time if you have news on them. My aim for October is to significantly increase the percentage of blue throughout the pages of the report. Clearly, there are two ways to achieve this: have more blue or have less white. My preference is the former option, and I count on the community to make it feasible. In any case, I will tend to be less conservative than this time around: I plan to drop, or simply replace with pointers to previous versions, entries that see no update between now and then. A call for new entries and updates to existing ones will be issued on the usual mailing lists. Now enjoy the current report and see what other Haskellers have been up to in the last half year. Any kind of feedback is of course very welcome [email protected], as are thoughts on the plan outlined above. Janis Voigtländer, Technische Universität Dresden, Germany 3 Contents 1 Information Sources 9 1.1 Book: Programming in Haskell ...................................... 9 1.2 The Monad.Reader ............................................. 9 1.3 Haskell Wikibook .............................................. 9 1.4 Monad Tutorial ............................................... 9 1.5 Oleg’s Mini tutorials and assorted small projects ............................ 10 1.6 Haskell Cheat Sheet ............................................ 11 1.7 The Happstack Tutorial .......................................... 11 2 Implementations 12 2.1 The Glasgow Haskell Compiler ...................................... 12 2.2 nhc98 .................................................... 13 2.3 The Helium compiler ............................................ 13 2.4 UHC, Utrecht Haskell Compiler (previously: EHC, “Essential Haskell” compiler) .......... 14 2.5 Hugs as Yhc Core Producer ........................................ 15 2.6 Haskell frontend for the Clean compiler ................................. 16 2.7 SAPL, Simple Application Programming Language ........................... 16 2.8 The Reduceron ............................................... 16 2.9 Platforms .................................................. 16 2.9.1 Haskell in Gentoo Linux .......................................... 16 2.9.2 Fedora Haskell SIG ............................................. 17 2.9.3 GHC on OpenSPARC ........................................... 17 3 Language 18 3.1 Extensions of Haskell ............................................ 18 3.1.1 Haskell Server Pages (HSP) ........................................ 18 3.1.2 GpH — Glasgow Parallel Haskell ..................................... 18 3.1.3 Eden ..................................................... 19 3.1.4 XHaskell project .............................................. 19 3.1.5 HaskellActor ................................................ 20 3.1.6 HaskellJoin ................................................. 20 3.2 Related Languages ............................................. 20 3.2.1 Curry .................................................... 20 3.2.2 Agda ..................................................... 21 3.2.3 Clean .................................................... 21 3.2.4 Timber ................................................... 22 3.3 Type System / Program Analysis ..................................... 22 3.3.1 Free Theorems for Haskell ......................................... 22 3.3.2 The Disciplined Disciple Compiler (DDC) ................................ 23 4 Tools 24 4.1 Scanning, Parsing, Transformations .................................... 24 4.1.1 Alex version 2 ................................................ 24 4.1.2 Happy .................................................... 24 4.1.3 UUAG .................................................... 24 4.2 Documentation ............................................... 25 4.2.1 Haddock ................................................... 25 4.2.2 lhs2TEX ................................................... 25 4.3 Testing, Debugging, and Analysis ..................................... 25 4.3.1 SmallCheck and Lazy SmallCheck .................................... 25 4.3.2 EasyCheck ................................................. 26 4.3.3 checkers ................................................... 26 4 4.3.4 Gast ..................................................... 26 4.3.5 Concurrent Haskell Debugger ....................................... 27 4.3.6 Hpc ..................................................... 27 4.3.7 SourceGraph ................................................ 27 4.3.8 HLint .................................................... 28 4.3.9 hp2any ................................................... 28 4.4 Development ................................................ 28 4.4.1 Hoogle — Haskell API Search ....................................... 28 4.4.2 HEAT: The Haskell Educational Advancement Tool .......................... 28 4.4.3 Haskell Mode Plugins for Vim ....................................... 29 4.4.4 yi ....................................................... 29 4.4.5 HaRe — The Haskell Refactorer ..................................... 30 4.4.6 DarcsWatch ................................................. 30 4.4.7 cpphs .................................................... 30 5 Libraries 31 5.1 Cabal and Hackage ............................................. 31 5.2 Haskell Platform .............................................. 31 5.3 Auxiliary Libraries ............................................. 32 5.3.1 libmpd .................................................... 32 5.3.2 hmatrix ................................................... 32 5.3.3 The Neon Library ............................................. 32 5.3.4 unamb .................................................... 33 5.3.5 leapseconds-announced ........................................... 33 5.4 Processing Haskell ............................................. 33 5.4.1 hint ..................................................... 33 5.4.2 mueval .................................................... 33 5.4.3 hscolour ................................................... 34 5.5 Parsing and Transforming ......................................... 34 5.5.1 HStringTemplate .............................................. 34 5.5.2 CoreErlang ................................................. 34 5.5.3 parse-dimacs: A DIMACS CNF Parser .................................. 34 5.5.4 InterpreterLib ................................................ 34 5.5.5 KURE .................................................... 35 5.5.6 Typed Transformations of Typed Abstract Syntax (TTTAS) ..................... 35 5.5.7 ChristmasTree (previously: GRead) ................................... 36 5.5.8 Utrecht Parser Combinator Library: Old version ............................ 36 5.5.9 Utrecht Parser Combinator Library: New version ............................ 36 5.6 Mathematical Objects ........................................... 37 5.6.1 Halculon: units and physical constants database ............................ 37 5.6.2 Numeric prelude .............................................. 37 5.6.3 vector-space ................................................