Haskell Communities and Activities Report
Total Page:16
File Type:pdf, Size:1020Kb
Haskell Communities and Activities Report http://tinyurl.com/haskcar Twentieth Edition — May 2011 Janis Voigtländer (ed.) Andreas Abel Iain Alexander Krasimir Angelov Heinrich Apfelmus Dmitry Astapov Christiaan Baaij Justin Bailey Alexander Bau Doug Beardsley Jean-Philippe Bernardy Annette Bieniusa Mario Blažević Anthonin Bonnefoy Gwern Branwen Joachim Breitner Matt Brown Björn Buckwalter Bryan Buecking Joel Burget Douglas Burke Carlos Camarão Erik de Castro Lopo Roman Cheplyaka Olaf Chitil Duncan Coutts Nils Anders Danielsson Dominique Devriese Daniel Díaz Atze Dijkstra Péter Diviánszky Facundo Dominguez Marc Fontaine Patai Gergely Jürgen Giesl Brett G. Giles Andy Gill George Giorgidze Dmitry Golubovsky Marco Gontijo Matthew Gruen Torsten Grust Jurriaan Hage Sönke Hahn Malte Harder Bastiaan Heeren Judah Jacobson PÁLI Gábor János Jeroen Janssen Csaba Hruska Oleg Kiselyov Michal Konečný Eric Kow Ben Lippmeier Andres Löh Hans-Wolfgang Loidl Tom Lokhorst Rita Loogen Ian Lynagh John MacFarlane Christian Maeder José Pedro Magalhães Ketil Malde Alex McLean Vivian McPhail Simon Michael Arie Middelkoop Neil Mitchell Dino Morelli JP Moresmau Matthew Naylor Victor Nazarov Jürgen Nicklisch-Franken Rishiyur Nikhil Thomas van Noort Johan Nordlander Miguel Pagano David M. Peixotto Jens Petersen Simon Peyton Jones Dan Popa Bernie Pope Antonio M. Quispe Alberto Ruiz David Sabel Antti Salonen Ingo Sander Uwe Schmidt Martijn Schrage Tom Schrijvers Jeremy Shaw Axel Simon Jan Šnajder Michael Snoyman Will Sonnex Andy Stewart Martin Sulzmann Doaitse Swierstra Henning Thielemann Simon Thompson Sergei Trofimovich Thomas Tuegel Marcos Viera Janis Voigtländer David Waern Greg Weber Gregory D. Weber Kazu Yamamoto Brent Yorgey Preface This is the 20th edition of the Haskell Communities and Activities Report. As usual, fresh entries are formatted using a blue background, while updated entries have a header with a blue background. Entries for which I received a liveness ping, but which have seen no essential update for a while, have been replaced with online pointers to previous versions. Other entries on which no new activity has been reported for a year or longer have been dropped completely. Please do revive such entries next time if you do have news on them. A call for new entries and updates to existing ones will be issued on the usual mailing lists in October. Now enjoy the current report and see what other Haskellers have been up to lately. Any feedback is very welcome. Janis Voigtländer, University of Bonn, Germany, [email protected] 2 Contents 1 Community, Articles/Tutorials7 1.1 Haskellers.................................................. 7 1.2 Haskell Wikibook.............................................. 7 1.3 The Monad.Reader............................................. 7 1.4 Oleg’s Mini Tutorials and Assorted Small Projects........................... 7 1.5 Haskell Cheat Sheet............................................ 8 1.6 A Tutorial on the Enumerator Library.................................. 8 1.7 Practice of Functional Programming................................... 8 2 Implementations 9 2.1 Haskell Platform.............................................. 9 2.2 The Glasgow Haskell Compiler...................................... 9 2.3 Immix Garbage Collector on GHC.................................... 12 2.4 UHC, Utrecht Haskell Compiler...................................... 12 2.5 Exchanging Sources between Clean and Haskell............................. 13 2.6 The Reduceron............................................... 13 2.7 Specific Platforms............................................. 13 2.7.1 Haskell on FreeBSD............................................ 13 2.7.2 Debian Haskell Group........................................... 14 2.7.3 Haskell in Gentoo Linux.......................................... 14 2.7.4 Fedora Haskell SIG............................................. 15 2.8 Fibon Benchmark Tools & Suite..................................... 15 3 Related Languages 17 3.1 Agda..................................................... 17 3.2 MiniAgda.................................................. 17 3.3 Clean.................................................... 17 3.4 Timber................................................... 18 3.5 Disciple................................................... 18 4 Haskell and . 20 4.1 Haskell and Parallelism.......................................... 20 4.1.1 TwilightSTM................................................ 20 4.1.2 Haskell-MPI................................................. 20 4.1.3 Eden..................................................... 20 4.1.4 GpH — Glasgow Parallel Haskell..................................... 21 4.1.5 Parallel GHC Project........................................... 22 4.2 Haskell and the Web............................................ 23 4.2.1 GHCJS: Haskell to Javascript compiler.................................. 23 4.2.2 WAI..................................................... 23 4.2.3 Warp.................................................... 24 4.2.4 Holumbus Search Engine Framework................................... 24 4.2.5 gitit..................................................... 25 4.2.6 Happstack.................................................. 25 4.2.7 Mighttpd2 — Yet another Web Server.................................. 26 4.2.8 Yesod.................................................... 26 4.2.9 Snap Framework.............................................. 27 4.2.10 rss2irc.................................................... 27 4.3 Haskell and Games............................................. 28 4.3.1 FunGEn................................................... 28 4.3.2 Nikki and the Robots........................................... 28 4.3.3 Freekick2.................................................. 29 3 4.4 Haskell and Compiler Writing....................................... 29 4.4.1 UUAG.................................................... 29 4.4.2 AspectAG.................................................. 29 4.4.3 Berp..................................................... 30 4.4.4 LQPL — A Quantum Programming Language Compiler and Emulator................ 30 5 Development Tools 32 5.1 Environments................................................ 32 5.1.1 EclipseFP.................................................. 32 5.1.2 ghc-mod — Happy Haskell Programming on Emacs.......................... 32 5.1.3 Leksah — The Haskell IDE in Haskell.................................. 32 5.1.4 HEAT: The Haskell Educational Advancement Tool.......................... 33 5.1.5 HaRe — The Haskell Refactorer..................................... 33 5.2 Documentation............................................... 34 5.2.1 Haddock................................................... 34 5.2.2 Hoogle.................................................... 34 5.2.3 lhs2TEX................................................... 35 5.3 Testing and Analysis............................................ 35 5.3.1 shelltestrunner............................................... 35 5.3.2 HLint.................................................... 35 5.3.3 hp2any................................................... 35 5.4 Optimization................................................ 36 5.4.1 HFusion................................................... 36 5.4.2 Optimizing Generic Functions....................................... 36 5.5 Boilerplate Removal............................................ 37 5.5.1 A Generic Deriving Mechanism for Haskell............................... 37 5.5.2 Derive.................................................... 37 5.6 Code Management............................................. 37 5.6.1 Darcs.................................................... 37 5.6.2 ipatch.................................................... 38 5.6.3 DarcsWatch................................................. 38 5.6.4 darcsden................................................... 38 5.6.5 darcsum................................................... 38 5.6.6 Improvements to Cabal’s Test Support.................................. 39 5.6.7 cab — A Maintenance Command of Haskell Cabal Packages...................... 39 5.6.8 Hackage-Debian.............................................. 39 5.7 Interfacing to other Languages...................................... 39 5.7.1 HSFFIG................................................... 39 5.8 Deployment................................................. 39 5.8.1 Cabal and Hackage............................................. 39 5.8.2 Hackage 2.0................................................. 40 5.8.3 Capri.................................................... 41 5.8.4 Shaker.................................................... 41 6 Libraries 42 6.1 Processing Haskell............................................. 42 6.1.1 The Neon Library............................................. 42 6.1.2 mueval.................................................... 42 6.2 Parsing and Transforming......................................... 42 6.2.1 The grammar-combinators Parser Library................................ 42 6.2.2 language-python.............................................. 42 6.2.3 Loker.................................................... 42 6.2.4 epub-metadata............................................... 43 6.2.5 ChristmasTree............................................... 43 6.2.6 First Class Syntax Macros......................................... 43 6.2.7 Utrecht Parser Combinator Library: uu-parsinglib..........................