
--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20080309 Issue 71 - March 09, 2008 --------------------------------------------------------------------------- Welcome to issue 71 of HWN, a newsletter covering developments in the [1]Haskell community. Another busy week on the Haskell library front, with around 100 new and updated libraries and tools on Hackage. 1. http://haskell.org/ Announcements Google Summer of Code. Malcolm Wallace [2]announced Google is running its 'Summer of Code' project again this year, and Haskell.org is once again going to apply to be a mentoring organisation. If you're interested in earning money to hack on Haskell, and helping out the community, [3]take a look at the wiki. 2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/37273 3. http://hackage.haskell.org/trac/summer-of-code Haskell in the browser. Dimitry Golubovsky [4]announced that the YHC JavaScript backend is now in alpha testing, and is open to experimentation for those wanting to write Haskell directly for the browser 4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/37299 Hackage New and updated libraries in [5]the Hackage library database. 5. http://hackage.haskell.org/ * typalyze 0.1.1. Uploaded by Matthew Danish. [6]typalyze: Analyzes Haskell source files for easy reference. * lax 0.0.0.1. Uploaded by Wolfgang Jeltsch. [7]lax: Lax arrows. * truelevel 0.1.1. Uploaded by Barton Massey. [8]truelevel: Audio file compressor-limiter. * WAVE 0.1. Uploaded by Barton Massey. [9]WAVE: WAVE audio file IO library. * parseargs 0.1. Uploaded by Barton Massey. [10]parseargs: Command-line argument parsing library for Haskell programs. * conjure 0.1. Uploaded by Gwern Branwen. [11]conjure: A BitTorrent client. * Diff 0.1.1. Uploaded by Sterling Clover. [12]Diff: O(ND) diff algorithm in haskell.. * simseq 0.0. Uploaded by Gwern Branwen. [13]simseq: Simulate sequencing with different models for priming and errors. * rbr 0.8.3. Uploaded by Gwern Branwen. [14]rbr: Mask nucleotide (EST) sequences in Fasta format. * xml2x 0.2. Uploaded by Gwern Branwen. [15]xml2x: Convert BLAST output in XML format to CSV or HTML. 6. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/typalyze-0.1.1 7. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/lax-0.0.0.1 8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/truelevel-0.1.1 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/WAVE-0.1 10. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parseargs-0.1 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/conjure-0.1 12. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Diff-0.1.1 13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/simseq-0.0 14. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/rbr-0.8.3 15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xml2x-0.2 * estreps 0.1. Uploaded by Gwern Branwen. [16]estreps: Repeats from ESTs. * clustertools 0.1. Uploaded by Gwern Branwen. [17]clustertools: Tools for manipulating sequence clusters. * xsact 1.6. Uploaded by Gwern Branwen. [18]xsact: Cluster EST sequences. * HsJudy 0.2. Uploaded by Gwern Branwen. [19]HsJudy: Judy bindings, and some nice APIs. * prof2dot 0.3.1. Uploaded by Gregory Wright. [20]prof2dot: Convert GHC profiles into GraphViz's dot format. * strict 0.3.2. Uploaded by Roman Leshchinskiy. [21]strict: Strict data types and String IO.. * Emping 0.4. Uploaded by Hans VanThiel. [22]Emping: derives heuristic rules from nominal data. * GuiHaskell 0.1.1. Uploaded by Neil Mitchell. [23]GuiHaskell: A graphical REPL and development environment for Haskell. * simpleargs 0.1. Uploaded by Ketil Malde. [24]simpleargs: Provides a more flexible getArgs function with better error reporting.. * parsec 3.0.0. Uploaded by Derek Elkins. [25]parsec: Monadic parser combinators. 16. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/estreps-0.1 17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/clustertools-0.1 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xsact-1.6 19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HsJudy-0.2 20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/prof2dot-0.3.1 21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/strict-0.3.2 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Emping-0.4 23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/GuiHaskell-0.1.1 24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/simpleargs-0.1 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parsec-3.0.0 * hetris 0.2. Uploaded by Gwern Branwen. [26]hetris: Text Tetris. * hscurses 1.3. Uploaded by Gwern Branwen. [27]hscurses: NCurses bindings for Haskell. * photoname 2.0. Uploaded by Dino Morelli. [28]photoname: Rename JPEG photo files based on shoot date. * mage 1.1.0. Uploaded by Gwern Branwen. [29]mage: Rogue-like. * infix 0.1.1. Uploaded by Gwern Branwen. [30]infix: Infix expression re-parsing (for HsParser library). * bio 0.3.3. Uploaded by Gwern Branwen. [31]bio: A bioinformatics library. * dephd 0.0. Uploaded by Gwern Branwen. [32]dephd: Analyze 'phred' output (.phd files). * hybrid 2.0. Uploaded by Gwern Branwen. [33]hybrid: A implementation of a type-checker for Lambda-H. * propgrid 0.1. Uploaded by Gwern Branwen. [34]propgrid: GUI propertygrid. * gravatar 0.3. Uploaded by Donald Stewart. [35]gravatar: Find the url of the gravatar associated with an email address.. 26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hetris-0.2 27. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hscurses-1.3 28. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/photoname-2.0 29. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mage-1.1.0 30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/infix-0.1.1 31. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bio-0.3.3 32. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dephd-0.0 33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hybrid-2.0 34. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/propgrid-0.1 35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gravatar-0.3 * himerge 0.17.9. Uploaded by Luis Araujo. [36]himerge: Haskell Graphical User Interface for Emerge. * Takusen 0.8. Uploaded by Alistair Bayley. [37]Takusen: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC.. * irc 0.4.1. Uploaded by Trevor Elliott. [38]irc: A small library for parsing IRC messages.. * hexpat 0.2. Uploaded by Evan Martin. [39]hexpat: wrapper for expat, the fast XML parser. * microbench 0.1. Uploaded by Evan Martin. [40]microbench: Microbenchmark Haskell code. * hxt 7.5. Uploaded by Uwe Schmidt. [41]hxt: A collection of tools for processing XML with Haskell.. * hmatrix 0.2.1.0. Uploaded by Alberto Ruiz. [42]hmatrix: Linear algebra and numerical computations. * binary-strict 0.3.1. Uploaded by Adam Langley. [43]binary-strict: Binary deserialisation using strict ByteStrings. * category-extras 0.1. Uploaded by Dan Doel. [44]category-extras: Various modules and constructs inspired by category theory.. * pcap 0.4.3. Uploaded by Bryan OSullivan. [45]pcap: A system-independent interface for user-level packet capture. 36. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/himerge-0.17.9 37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Takusen-0.8 38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/irc-0.4.1 39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hexpat-0.2 40. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/microbench-0.1 41. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hxt-7.5 42. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hmatrix-0.2.1.0 43. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary-strict-0.3... 44. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/category-extras-0... 45. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pcap-0.4.3 * curl 1.3.1. Uploaded by Eric Mertens. [46]curl: Haskell binding to libcurl. * fastcgi 3001.0.2. Uploaded by Bjorn Bringert. [47]fastcgi: A Haskell library for writing FastCGI programs. * hslogger 1.0.5. Uploaded by John Goerzen. [48]hslogger: Versatile logging framework. * HAppS-Server 0.9.2.1. Uploaded by David Himmelstrup. [49]HAppS-Server: Web related tools and services.. * HAppS-IxSet 0.9.2.1. Uploaded by David Himmelstrup. [50]HAppS-IxSet: Added by DavidHimmelstrup, Fri Feb 29 07:27:13 PST 2008.. * HAppS-State 0.9.2.1. Uploaded by David Himmelstrup. [51]HAppS-State: Event-based distributed state.. * HAppS-Data 0.9.2.1. Uploaded by David Himmelstrup. [52]HAppS-Data: HAppS data manipulation libraries. * HAppS-Util 0.9.2.1. Uploaded by David Himmelstrup. [53]HAppS-Util: Web framework. * sessions 2008.2.28. Uploaded by Matthew Sackman. [54]sessions: Session Types for Haskell. * utf8-string 0.3. Uploaded by Eric Mertens. [55]utf8-string: Support for reading and writing UTF8 Strings. 46. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl-1.3.1 47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/fastcgi-3001.0.2 48. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hslogger-1.0.5 49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HAppS-Server-0.9.... 50. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HAppS-IxSet-0.9.2... 51. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HAppS-State-0.9.2... 52. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HAppS-Data-0.9.2.... 53. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HAppS-Util-0.9.2.... 54. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sessions-2008.2.2... 55. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/utf8-string-0.3 * EdisonCore 1.2.1.2. Uploaded by Robert Dockins. [56]EdisonCore: A library of efficent, purely-functional data structures (Core Implementations). * parameterized-data 0.1. Uploaded by Alfonso Acosta. [57]parameterized-data: Parameterized data library implementing lightweight dependent types. * unix 2.3.0.0. Uploaded by Ross Paterson. [58]unix: POSIX functionality. * hoogle 3.1. Uploaded by Neil Mitchell. [59]hoogle: Haskell API Search. * ftshell 0.2. Uploaded by Janis Voigtlaender. [60]ftshell: Shell interface to the FreeTheorems library.. * free-theorems 0.2. Uploaded by Janis Voigtlaender. [61]free-theorems: Automatic generation of free theorems.. * special-functors 1.0. Uploaded by Henning Thielemann. [62]special-functors: Control.Applicative, Data.Foldable, Data.Traversable (compatibility package). * type-level 0.1. Uploaded by Alfonso Acosta. [63]type-level: Type-level programming library. * nymphaea 0.2. Uploaded by Gwern Branwen. [64]nymphaea: An interactive GUI for manipulating L-systems. * hsc3 0.2. Uploaded by Rohan Drape. [65]hsc3: Haskell SuperCollider. 56. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/EdisonCore-1.2.1.... 57. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parameterized-dat... 58. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/unix-2.3.0.0 59. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hoogle-3.1 60. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ftshell-0.2 61. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/free-theorems-0.2 62. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/special-functors-... 63. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/type-level-0.1 64. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/nymphaea-0.2 65. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsc3-0.2 * hosc 0.2. Uploaded by Rohan Drape. [66]hosc: Haskell Open Sound Control. * hslackbuilder 0.0.1. Uploaded by Andrea Rossato. [67]hslackbuilder: HSlackBuilder automatically generates slackBuild scripts from a cabal package. * hsparklines 0.1.0. Uploaded by Hitesh Jasani. [68]hsparklines: Sparklines for Haskell. * sat-micro-hs 0.1.1. Uploaded by Denis Bueno. [69]sat-micro-hs: A minimal SAT solver. * interlude 0.1.1. Uploaded by Gwern Branwen. [70]interlude: Replaces some Prelude functions for enhanced error reporting. * parse-dimacs 1.0.1. Uploaded by Denis Bueno. [71]parse-dimacs: DIMACS CNF parser library. * bitset 0.5. Uploaded by Denis Bueno. [72]bitset: A functional data structure for efficient membership testing.. * special-functors 1.0. Uploaded by Henning Thielemann. [73]special-functors: Control.Applicative, Data.Foldable, Data.Traversable (compatibility package). * condorcet 0.0.1. Uploaded by Gwern Branwen. [74]condorcet: Library for Condorcet voting. * heap 0.2.3. Uploaded by Stephan Friedrichs. [75]heap: Heaps in Haskell. 66. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hosc-0.2 67. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hslackbuilder-0.0... 68. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsparklines-0.1.0 69. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/sat-micro-hs-0.1.... 70. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/interlude-0.1.1 71. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/parse-dimacs-1.0.... 72. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bitset-0.5 73. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/special-functors-... 74. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/condorcet-0.0.1 75. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/heap-0.2.3 * hspr-sh 0.3. Uploaded by Gwern Branwen. [76]hspr-sh: Session handler for HSP. * hsp 0.2. Uploaded by Gwern Branwen. [77]hsp: Haskell Server Pages is a library for writing dynamic server-side web pages.. * trhsx 0.2.1. Uploaded by Gwern Branwen. [78]trhsx: trhsx is the preprocessor for Harp and HSP. * haskell-src-exts 0.2.1. Uploaded by Gwern Branwen. [79]haskell-src-exts: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer. * harp 0.2.1. Uploaded by Gwern Branwen. [80]harp: HaRP allows pattern-matching with regular expressions. * HTF 0.1. Uploaded by Gwern Branwen. [81]HTF: The Haskell Test Framework. * hsdip 0.1. Uploaded by Gwern Branwen. [82]hsdip: hsdip - a Diplomacy parser/renderer. * mpdmate 0.1. Uploaded by Gwern Branwen. [83]mpdmate: MPD/PowerMate executable. * powermate 0.1. Uploaded by Gwern Branwen. [84]powermate: PowerMate bindings. * syb-with-class 0.4. Uploaded by David Himmelstrup. [85]syb-with-class: Scrap Your Boilerplate With Class. 76. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hspr-sh-0.3 77. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsp-0.2 78. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/trhsx-0.2.1 79. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell-src-exts-... 80. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/harp-0.2.1 81. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTF-0.1 82. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsdip-0.1 83. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/mpdmate-0.1 84. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/powermate-0.1 85. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/syb-with-class-0.... * whim 0.1. Uploaded by Gwern Branwen. [86]whim: A Haskell window manager. * memcached 0.1. Uploaded by Gwern Branwen. [87]memcached: haskell bindings for memcached. * HaLeX 1.1. Uploaded by Gwern Branwen. [88]HaLeX: HaLeX enables modelling, manipulation and animation of regular languages. 86. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/whim-0.1 87. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/memcached-0.1 88. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HaLeX-1.1 Jobs Haskell for real-time control software. Tom Hawkins [89]announced an opening for a Haskell job in real-time control software for vehicle and machinery applications 89. http://article.gmane.org/gmane.comp.lang.haskell.cafe/37093 Haskell for bioinformatics. Ketil Malde [90]announced an open position for a 3-year Ph.D. scolarship at IMR working on bioinformatics projects in Haskell 90. http://news.gmane.org/gmane.comp.lang.haskell.cafe/cutoff=37362 Blog noise [91]Haskell news from the [92]blogosphere. * [93]Barracuda P2P Chat * [94]A Lambda Calculus Reducer * [95]A Fashion Magazine in Haskell * [96]Introduction to building stateful web apps in HAppS * [97]Intro to HAppS-State * [98]Project Euler in Haskell * [99]In praise of mandatory indentation for novice programmers * [100]More Monads on the Cheap: Inlined fromMaybe * [101]A First Haskell Experience * [102]Haskell and code coverage * [103]Why I don't use Haskell for Functional Programming (monads, lifting) 91. http://planet.haskell.org/ 92. http://haskell.org/haskellwiki/Blog_articles 93. http://haskell.org/gtk2hs/archives/2008/02/24/barracuda-p2p-chat/ 94. http://www.defmacro.org/ramblings/lambda-reducer.html 95. http://www.alpheccar.org/en/posts/show/91 96. http://softwaresimply.blogspot.com/2008/02/intro-to-happs-part-1.html 97. http://softwaresimply.blogspot.com/2008/02/intro-to-happs-state.html 98. http://extempore.livejournal.com/212602.html 99. http://okasaki.blogspot.com/2008/02/in-praise-of-mandatory-indentation-for.h... 100. http://osteele.com/archives/2008/02/inlined-frommaybe 101. http://the-programmers-stone.com/2008/03/04/a-first-haskell-experience/ 102. http://dukedave.blogspot.com/2008/03/back-in-action.html 103. http://jlouisramblings.blogspot.com/2008/03/why-i-dont-use-haskell-for-funct... Quotes of the Week * teamonkey: the Haskell solutions that people are posting are generally so much more concise and elegant than for any other language * Dan Zwell: I am fairly new to Haskell, and I didn't realize how easy concurrent code is until I wrote this * anonymous: The Haskall (sic) language is often uses by very intelligent programmers, it often allows to use lazy computations and iterations, but it has the advantage that its iterators behave better (than in Python), and during the generation of some items you can, when you want, refer and use the items already generated. * Corun: I don't understand, what's the advantage of hugs? The uni here says to use hugs, though, but I kept finding myself going in to ghci to get a useful error message * They say that if it compiles, it will run correctly. It?s nearly true! I?m amazed. ... Such buglessness will remove a huge source of indeterminism in production environments where the work of many teams is co-ordinated by schedules. * dolio: I've made a domain specific notation for describing puddings. * cschneid: [Haskell] changed the way I look at decomposition of problems in the more corporate languages (Java and C#). I use far fewer variables, and more side-effect free methods. It's made my code clearer, and easier to test. * nicodemus: I've written some Erlang and much more Haskell. My take so far is that Erlang is good for teaching you how to fish, Haskell is good for teaching you about procuring food (including fish). * paulzork: Haskell is to functional programming like C is to imperative languages? Sort of the latin root? About the Haskell Weekly News New editions are posted to [104]the Haskell mailing list as well as to [105]the Haskell Sequence and [106]Planet Haskell. [107]RSS is also available, and headlines appear on [108]haskell.org. Headlines are available as [109]PDF. To help create new editions of this newsletter, please see the [110]contributing information. Send stories to dons at galois.com. The darcs repository is available at darcs get [111]http://code.haskell.org/~dons/code/hwn/ 104. http://www.haskell.org/mailman/listinfo/haskell 105. http://sequence.complete.org/ 106. http://planet.haskell.org/ 107. http://sequence.complete.org/node/feed 108. http://haskell.org/ 109. http://code.haskell.org/~dons/code/hwn/archives/20080309.pdf 110. http://haskell.org/haskellwiki/HWN 111. http://code.haskell.org/~dons/code/hwn/