Haskell Communities and Activities Report
Total Page:16
File Type:pdf, Size:1020Kb
Haskell Communities and Activities Report http://tinyurl.com/haskcar Twenty-Sixth Edition — May 2014 Mihai Maruseac, Alejandro Serrano Mena (eds.) Andreas Abel Alexander Granin Heinrich Apfelmus Daniel Austin Emil Axelsson Doug Beardsley Jean-Philippe Bernardy Jeroen Bransen Joachim Breitner Erik de Castro Lopo Lucas DiCioccio Roman Cheplyaka Olaf Chitil Alberto Gómez Corona Duncan Coutts Atze Dijkstra Péter Diviánszky Richard Eisenberg Andrew Farmer Dennis Felsing Julian Fleischer Andrew Gibiansky Brett G. Giles Andy Gill Jurriaan Hage Greg Hale Bastiaan Heeren Sylvain Henry PÁLI Gábor János Bob Ippolito Philipp Kant Robin KAY Anton Kholomiov Ian-Woo Kim Oleg Kiselyov Edward Kmett Eric Kow Nickolay Kudasov Ben Lippmeier Andres Löh Rita Loogen Boris Lykah Ian Lynagh Christian Maeder José Pedro Magalhães Ketil Malde Mihai Maruseac Dino Morelli JP Moresmau Ben Moseley Tom Nielsen Rishiyur Nikhil Kiwamu Okabe Jens Petersen Haskell Consultancy Munich Simon Peyton Jones Ian Ross David Sabel Martijn Schrage Carter Tazio Schonwald Jeremy Shaw Christian Höner zu Siederdissen Jim Snow Michael Snoyman Andrei Soare Doaitse Swierstra Bernhard Urban Alessio Valentini Adam Vogt Daniel Wagner Kazu Yamamoto Edward Z. Yang Brent Yorgey Alan Zimmerman Preface This is the 26th 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 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. This edition is the first one in which the people behind HCAR are new. Because of that, the development of this edition started a little slower but will improve in time as we get used with the process. We want to thank Janis for keeping HCAR going so far and for helping us in taking over on this edition. A call for new HCAR entries and updates to existing ones will be issued on the Haskell mailing lists in October. Now enjoy the current report and see what other Haskellers have been up to lately. Any feedback is very welcome, as always. Mihai Maruseac, University of Massachusetts Boston, US Alejandro Serrano Mena, Utrecht University, Netherlands [email protected] 2 Contents 1 Community 7 1.1 Haskell’ — Haskell 2014.......................................... 7 1.2 Haskellers.................................................. 7 2 Books, Articles, Tutorials 8 2.1 The Monad.Reader............................................. 8 2.2 Oleg’s Mini Tutorials and Assorted Small Projects........................... 8 2.3 Agda Tutorial................................................ 9 2.4 School of Haskell.............................................. 9 3 Implementations 10 3.1 The Glasgow Haskell Compiler...................................... 10 3.2 Ajhc Haskell Compiler........................................... 13 3.3 UHC, Utrecht Haskell Compiler...................................... 14 3.4 Specific Platforms............................................. 15 3.4.1 Haskell on FreeBSD............................................ 15 3.4.2 Debian Haskell Group........................................... 15 3.4.3 Fedora Haskell SIG............................................. 15 4 Related Languages and Language Design 17 4.1 Agda..................................................... 17 4.2 MiniAgda.................................................. 17 4.3 Disciple................................................... 17 4.4 Ermine................................................... 18 5 Haskell and . 19 5.1 Haskell and Parallelism.......................................... 19 5.1.1 Eden..................................................... 19 5.1.2 speculation................................................. 20 5.2 Haskell and the Web............................................ 20 5.2.1 WAI..................................................... 20 5.2.2 Warp.................................................... 20 5.2.3 Happstack.................................................. 20 5.2.4 Mighttpd2 — Yet another Web Server.................................. 21 5.2.5 Yesod.................................................... 22 5.2.6 Snap Framework.............................................. 23 5.2.7 Sunroof................................................... 23 5.2.8 MFlow.................................................... 23 5.2.9 Scotty.................................................... 24 5.3 Haskell and Compiler Writing....................................... 24 5.3.1 MateVM................................................... 24 5.3.2 UUAG.................................................... 25 5.3.3 LQPL — A Quantum Programming Language Compiler and Emulator................ 26 5.3.4 free — Free Monads............................................ 26 5.3.5 bound — Making De Bruijn Succ Less.................................. 27 6 Development Tools 28 6.1 Environments................................................ 28 6.1.1 Haskell IDE From FP Complete..................................... 28 6.1.2 EclipseFP.................................................. 28 6.1.3 Ariadne................................................... 29 6.1.4 ghc-mod — Happy Haskell Programming................................ 29 3 6.1.5 HaRe — The Haskell Refactorer..................................... 30 6.1.6 IHaskell: Haskell for Interactive Computing............................... 30 6.2 Code Management............................................. 31 6.2.1 Darcs.................................................... 31 6.2.2 DarcsWatch................................................. 32 6.2.3 cab — A Maintenance Command of Haskell Cabal Packages...................... 32 6.3 Interfacing to other Languages...................................... 32 6.3.1 java-bridge................................................. 32 6.3.2 fficxx..................................................... 32 6.4 Deployment................................................. 33 6.4.1 Cabal and Hackage............................................. 33 6.4.2 Stackage: the Library Dependency Solution............................... 34 6.4.3 standalone-haddock............................................ 35 6.5 Others.................................................... 35 6.5.1 lhs2TEX................................................... 35 6.5.2 ghc-heap-view................................................ 35 6.5.3 ghc-vis.................................................... 36 6.5.4 Hat — the Haskell Tracer......................................... 36 6.5.5 Tasty.................................................... 37 7 Libraries, Applications, Projects 38 7.1 Language Features............................................. 38 7.1.1 Conduit................................................... 38 7.1.2 lens..................................................... 38 7.1.3 folds..................................................... 39 7.1.4 machines.................................................. 39 7.1.5 exceptions.................................................. 39 7.1.6 tables.................................................... 39 7.1.7 Faking even more dependent types!.................................... 40 7.1.8 Type checking units-of-measure...................................... 40 7.2 Education.................................................. 40 7.2.1 Exercism: crowd-sourced code reviews on daily practice problems................... 40 7.2.2 Talentbuddy................................................ 41 7.2.3 Holmes, Plagiarism Detection for Haskell................................ 41 7.2.4 Interactive Domain Reasoners....................................... 41 7.3 Parsing and Transforming......................................... 42 7.3.1 epub-metadata............................................... 42 7.3.2 Utrecht Parser Combinator Library: uu-parsinglib........................... 42 7.3.3 Grammar Products............................................. 43 7.3.4 HERMIT.................................................. 44 7.3.5 haskell-names................................................ 44 7.3.6 haskell-packages.............................................. 45 7.3.7 parsers.................................................... 45 7.3.8 trifecta.................................................... 45 7.4 Generic and Type-Level Programming.................................. 45 7.4.1 Optimising Generic Functions....................................... 45 7.4.2 traverse-with-class............................................. 46 7.4.3 constraints................................................. 46 7.5 Mathematics................................................ 46 7.5.1 Rlang-QQ.................................................. 46 7.5.2 order-statistics............................................... 46 7.5.3 Eliminating Redundancies in Linear Systems.............................. 47 7.5.4 linear.................................................... 47 7.5.5 algebra................................................... 47 7.5.6 semigroups and semigroupoids...................................... 47 7.5.7 Arithmetics packages (Edward Kmett).................................. 48 7.5.8 ad...................................................... 48 7.5.9 integration................................................. 48 4 7.5.10 categories.................................................. 49 7.5.11 contravariant...............................................