--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20090606 Issue 120 - June 06, 2009 ---------------------------------------------------------------------------
Welcome to issue 120 of HWN, a newsletter covering developments in the [1]Haskell community. Sorry for the massive HWN, I missed last week so you're getting two for the price of one! Registration for [2]Hac phi is now open, be sure to register soon (register by June 15 to get a special hotel rate). Announcements Reminder: Haskell Implementers' Workshop CFT deadline in 2 weeks. Simon Marlow [3]reminded everyone to consider submitting a talk proposal for the Haskell Implementers' Workshop, to be held in conjunction with ICFP in Edinburgh, Scotland on 5 September. The deadline for submissions is a couple of weeks away (15 June); all that is needed is an abstract. storable-record. Henning Thielemann [4]announced [5]storable-record, a small package for simplified declaration of Storable instances for records. It may be used as an alternative to the [6]c2hs preprocessor. It was made possible by advanced applicative technology, a cutting edge LCM monoid and an incredible constructor power tower. Haskell Communities and Activities Report (16th ed., May 2009). Janis Voigtlaender [7]announced the availability of the [8]16th Haskell Communities and Activities Report. hledger 0.5 released. Simon Michael [9]announced the release of version 0.5 of [10]hledger, a (mostly) text-mode double-entry accounting tool that generates precise activity and balance reports from a plain text journal file. New repository and trac for haskell-src-exts. Niklas Broberg [11]announced some new infrastructure for the haskell-src-exts package, set up in preparation for his GSoC project. with the HSP packages, it's now old enough to be allowed to [12]live on its own. There is also a [13]bug tracker. Please help by reporting any bugs you come across, or by requesting new and cool features. bsd-sysctl 1.0.3. Maxime Henrion [14]announced the release of [15]bsd-sysctl 1.0.3, a package that provides a System.BSD.Sysctl module allowing access to the C sysctl(3) API. It should fully work on FreeBSD, NetBSD and Mac OS X platforms. multirec-binary. Sebastiaan Visser [16]announced the release of [17]multirec-binary, which allows generic derivation of Data.Binary instances using the [18]MultiRec library. notice for package authors. Duncan Coutts [19]announced that Hackage uploads will soon require an upper bound on the version of the base package and reject packages that omit it. This will hopefully result in less breakage the next time a new version of the base package is released. (Pre-) Announce: Data.GDS 0.1.0. Uwe Hollerbach [20](pre-) announced Data.GDS, a small module to write and (eventually) read GDS files, a classic format of the semiconductor industry. The module can currently generate GDS files with a fairly low-level interface; planned future versions (which will be uploaded to Hackage) will have a higher-level interface and be able to parse GDS files as well. new version of uu-parsinglib. S. Doaitse Swierstra [21]announced that a new version of the [22]uu-parsinglib library has been uploaded to hackage. It is now based on Control.Applicative where possible. Be warned that functions like some and many will be redefined in the future. Hac phi: Haskell hackathon in Philadelphia, July 24-26. Brent Yorgey [23]announced Hac phi, a Haskell hackathon/get-together to be held July 24-26 at the University of Pennsylvania in Philadelphia. The hackathon will officially kick off at 2:30 Friday afternoon, and go until 5pm on Sunday (with breaks for sleep, of course). Everyone is welcome---you do not have to be a Haskell guru to attend! Helping hack on someone else's project could be a great way to increase your Haskell-fu. If you plan on coming, please [24]register. There is a block of hotel rooms available at a special rate only until June 15, so register early! More details can be found on the [25]Hac phi wiki. Job for someone: make a VM image for GHC development. Simon Marlow [26]suggested a useful project for someone looking for something to do: create a VM image of a Linux system with a complete GHC development environment set up and ready to go. My attempt at Haskell USB. Mauricio [27]announced some [28]Haskell bindings to libusb, and gave another plug for his [29]bindings-common package, which makes it easier to generate Haskell bindings to low-level libraries. second alpha release of OSX haskell platform installer. Gregory Collins [30]announced a [31]second candidate release for the OSX Haskell Platform installer. Please try it out! Release Schedule for 2009.2.0.2. Don Stewart [32]announced the [33]release schedule for the next minor release of the 2009.2.0 branch of the Haskell Platform. The freeze for package changes will be Wednesday 1 July, and the release is scheduled for Monday 13th July. hscamwire, for IIDC1394 cameras. Frederick Ross [34]announced the release of [35]hscamwire 0.1, which provides a nice Haskellized layer over Camwire, a library to connect to IIDC1394 cameras (most scientific and industrial Firewire cameras) on Linux. Safe and generic printf with C-like format string. oleg [36]announced some code to implement a type-safe polyvariadic version of printf, which is also integrated with Show so that any showable type can be printed. A library for serial ports. Frederick Ross [37]announced the release of [38]serial-0.1, a library for line-oriented interaction with serial ports on POSIX compatible systems. HaL4: Haskell-Meeting in Germany, 12th June 2009. Janis Voigtlaender [39]reminded everyone of [40]Hal4, a German-language Haskell gathering to be held in Halle/Saale on June 12. There are already close to 50 registered participants, so expect a very lively meeting! Late registration still possible. wp-archivebot 0.1 - archive Wikipedia's external links in WebCite. Gwern Branwen [41]announced [42]wp-archivebot, a relatively simple little script which follows all the links in a RSS feed, combs the destination for http:// links, and submits them to [43]WebCite. memscript-0.0.0.2. Ki Yung Ahn [44]announced [45]memscript, a command line utility for memorizing scriptures or any other text. HSH 2.0.0. John Goerzen [46]announced the release of [47]version 2.0.0 of HSH, the Haskell shell scripting library. This version features a complete rewrite of the core using System.Process, a drastic reduction in code size and complexity, cross-platform support, and a simpler and more flexible API. atom-0.0.5. Tom Hawkins [48]announced version 0.5 of the [49]atom library, a DSL for embedded hard realtime applications. This version includes a few bug fixes and doc improvements. heap-1.0.0. Stephan Friedrichs [50]announced a rewrite of the heap package, [51]heap-1.0.0. It is not 100% compatible with version 0.6.0, but provides major improvements, including a better mechanism for instantiating min-, max-, min-prio- and max-prio-heaps, and faster {from,to}{Asc,Desc}List conversions. The Haskell Platform 2009.2.0.1. Don Stewart [52]announced the second release (2009.2.0.1) of the [53]Haskell Platform, a single, standard Haskell distribution for everyone. The specification, along with installers (including Windows and Unix installers for a full Haskell environment) are available. Anglohaskell 2009. Philippa Cowderoy [54]announced [55]Anglohaskell 2009, to be held at MSR Cambridge on the 7th and 8th of August. code reviewers wanted for hashed-storage (darcs). Eric Kow [56]solicited anyone with a few spare hours this summer willing to help the Darcs project as a code reviewer for the standalone hashed-storage module, which will be used by Darcs in the future. No Darcs experience is needed! Google Summer of Code Progress updates from participants in the 2008 [57]Google Summer of Code. Haddock improvements. Isaac Dupree has begun looking at the Haddock code, and has a [58]question about which of two options he should pursue. EclipseFP. Thomas Ten Cate has posted an [59]explanation of how the Scion client/server model works. Space profiling. Gergely Patai has [60]uploaded a preliminary version of the [61]hp2any core library which handles heap profiles both during and after execution. He has also [62]posted some pretty graphs generated by a simple utility built on top of the core library. haskell-src-exts. Niklas Broberg has begun work by making a [63]list of all language extensions and the ways in which they affect lexing and parsing, since haskell-src-exts will need to be parameterized over these extensions. Fast Darcs. Petr Rockai has posted two detailed [64]progress [65]reports already, with many changes to both the standalone [66]hashed-storage library and a [67]fork of darcs which uses it. Discussion Error message reform (was: Strange type error with associated type synonyms). Max Rabkin began an interesting [68]discussion about error messages. Do you have an intuitive sense of which is the 'expected' and which the 'inferred' type? time library dependencies. Ashley Yakeley [69]asked what dependencies are acceptable for the time library, leading to a discussion of what dependencies are acceptable for base packages. Bool as type class to serve EDSLs. Sebastiaan Visser started a [70]discussion on the possibility of a type class for representing Boolean values, much like the current Num class for numeric values. Jobs 10 jobs in declarative programming. Oege de Moor [71]announced the availability of positions with Semmle and LogicBlox for ten declarative programming consultants, who will work with clients to write custom queries in Datalog, and to create user interfaces in a declarative framework. Semmle and LogicBlox are creating a platform for declarative programming in Datalog, a pure logic programming language. Semmle is based in Oxford, headed by Oege de Moor; LogicBlox is based in Atlanta, headed by Molham Aref. See the announcement for more information and how to apply. Blog noise [72]Haskell news from the [73]blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them! * David Amos: [74]Welcome to Haskell for Maths. David's Haskell library for mathematics exploration is under development again! * Joachim Breitner: [75]Third place in AI programming contest. * Bryan O'Sullivan: [76]Dealing with encoding errors in Data.Text. * Remco Niemeijer: [77]Programming Praxis - Ternary Search Tries. * beelsebob: [78]Collecting Non-Memory Resources. * Luke Palmer: [79]It is never safe to cheat. Ceiling cat is watching you. * Alex McLean: [80]More hackery. More cool livecoding with Haskell. * Thomas ten Cate: [81]Client/server communication. * Gergely Patai: [82]The first graphs. * Alson Kemp: [83]Turbinado V0.6.5. * Don Stewart (dons): [84]The Haskell Platform 2009.2.0.1. The first minor update release of the Haskell Platform is here. * Alson Kemp: [85]Turbinado V0.6.5. * Michael Snoyman: [86]Functors and Monads (containers). * Well-Typed.Com: [87]Come talk at the Haskell Implementers' Workshop!. * GSoC Fast Darcs: [88]soc progress 2. * Shin-Cheng Mu: [89]On a Basic Property for the Longest Prefix Problem. * >>> Ben Hutchison: [90]OO/Imperative programmers: 'Study Functional Programming or Be Ignorant'. * Michael Snoyman: [91]Run a MonadCGI as a CGI application!. * Michael Snoyman: [92]Wordify: RESTful Haskell web apps. * Marco Tulio Gontijo e Silva: [93]xmlGetWidget without castTo*. * >>> slawekk: [94]Probability monad. * Brandon Simmons: [95]Huffman Coding. * Niklas Broberg: [96]Parametrising haskell-src-exts on extensions. A list of language extensions and how they affect parsing. * Manuel M T Chakravarty: [97]Instant Generics now has a website!. * GHC / OpenSPARC Project: [98]The CAS experiment. * Brent Yorgey: [99]Hac phi!. Registration is now open. * Jeff Heard: [100]Buster 2.2 - Application Orchestration redux. Example code showing off Buster. * Bryan O'Sullivan: [101]I put a pidgit in your widget so you can fidget while you calculate pi. GHC and the language shootout. * Niklas Broberg: [102]Haskell Platform, I'm in love. * Bjorn Buckwalter: [103]Benchmarking Amazon EC2 with GHC. * Bjorn Buckwalter: [104]Blogging with Pandoc, literate Haskell, and a bug. * >>> Chris Moos: [105]Haskell AIM Client - a cool proof of concept. * Marco Tulio Gontijo e Silva: [106]Generating code with Haskell-src and TH. Quotes of the Week * pumpkin: we should throw it [CReal] in with Foreign.C.Types to confuse people * MyCatVerbs: The *real* best way to optimize a program is to tell dons that it's been added to the Shootout. * SimonFrankau: The points-free approach, while elegant, can make code unreadable, especially if it is written by quantitative analysts moonlighting as functional programmers. * ValarQ: l33t_h4x0r: could you help me port GHC to the AVR architecture? <-- l33t_h4x0r has left #haskell * gwern: drat. what *do* all you people talk about? only one bacon and one zombie quote * quicksilver: well if you can get proggit to help with your interview, then perhaps you can get proggit to help with the job when you get it. So it's not cheating, it's just an indication of one of your skill sets. * shapr: I haven't tried F#, everytime I get the urge to do something fun with .NET I have SharePoint flashbacks and buy more hardware instead. * gwern: bleh. haskell is messing me up. I wondered what operator =) is, before I realized it was a syntax error, before I realized it was an emoticon About the Haskell Weekly News New editions are posted to [107]the Haskell mailing list as well as to [108]the Haskell Sequence and [109]Planet Haskell. [110]RSS is also available, and headlines appear on [111]haskell.org. To help create new editions of this newsletter, please see the information on [112]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [113]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://haskell.org/haskellwiki/Hac_%CF%86 3. http://article.gmane.org/gmane.comp.lang.haskell.general/17225 4. http://article.gmane.org/gmane.comp.lang.haskell.general/17214 5. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/storable-record 6. http://www.cse.unsw.edu.au/~chak/haskell/c2hs/ 7. http://article.gmane.org/gmane.comp.lang.haskell.general/17208 8. http://www.haskell.org/communities/ 9. http://www.haskell.org//pipermail/haskell-cafe/2009-May/061841.html 10. http://hledger.org/ 11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/58955 12. http://code.haskell.org/haskell-src-exts 13. http://trac.haskell.org/haskell-src-exts 14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/58928 15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bsd-sysctl 16. http://www.haskell.org//pipermail/haskell-cafe/2009-May/061887.html 17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec-binary 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec 19. http://www.haskell.org//pipermail/haskell-cafe/2009-June/062297.html 20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59268 21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59256 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/uu%2Dparsinglib 23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59156 24. http://haskell.org/haskellwiki/Hac_%CF%86/Register 25. http://haskell.org/haskellwiki/Hac_%CF%86 26. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/17046 27. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11243 28. http://hackage.haskell.org/packages/archive/bindings-libusb/0.0.3/doc/html/Bindings-Libusb.html 29. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bindings-common-0.1.3 30. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11224 31. http://gregorycollins.net/static/haskell/haskell-platform-2009.2.0.1-alpha2.pkg 32. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11217 33. http://trac.haskell.org/haskell-platform/wiki/ReleaseTimetable 34. http://article.gmane.org/gmane.comp.lang.haskell.general/17253 35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hscamwire 36. http://article.gmane.org/gmane.comp.lang.haskell.general/17251 37. http://article.gmane.org/gmane.comp.lang.haskell.general/17247 38. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/serial 39. http://article.gmane.org/gmane.comp.lang.haskell.general/17238 40. http://iba-cg.de/hal4.html 41. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59435 42. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wp%2Darchivebot 43. https://secure.wikimedia.org/wikipedia/en/wiki/WebCite 44. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59415 45. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/memscript 46. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59405 47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HSH 48. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59400 49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/atom 50. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59363 51. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/heap 52. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59338 53. http://hackage.haskell.org/platform/ 54. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59337 55. http://www.haskell.org/haskellwiki/AngloHaskell/2009 56. http://article.gmane.org/gmane.comp.lang.haskell.cafe/59327 57. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008 58. http://haddock2009.wordpress.com/2009/05/26/another-boring-update-question/ 59. http://eclipsefp.wordpress.com/2009/06/03/clientserver-communication/ 60. http://just-bottom.blogspot.com/2009/05/read-your-profiles.html 61. http://code.google.com/p/hp2any/ 62. http://just-bottom.blogspot.com/2009/06/first-graphs.html 63. http://nibrofun.blogspot.com/2009/05/parametrising-haskell-src-exts-on.html 64. http://web.mornfall.net/blog/soc_progress_1.html 65. http://web.mornfall.net/blog/soc_progress_2.html 66. http://repos.mornfall.net/hashed-storage 67. http://repos.mornfall.net/darcs/darcs-hs 68. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/59073 69. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11163 70. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/59021 71. http://article.gmane.org/gmane.comp.lang.haskell.general/17207 72. http://planet.haskell.org/ 73. http://haskell.org/haskellwiki/Blog_articles 74. http://haskellformaths.blogspot.com/2009/06/welcome-to-haskell-for-maths.html 75. https://www.joachim-breitner.de/blog/archives/328-Third-place-in-AI-programming-contest.html 76. http://www.serpentine.com/blog/2009/06/05/dealing-with-encoding-errors-in-datatext/ 77. http://bonsaicode.wordpress.com/2009/06/05/programming-praxis-ternary-search-tries/ 78. http://noordering.wordpress.com/2009/06/05/collecting-non-memory-resources/ 79. http://lukepalmer.wordpress.com/2009/06/04/it-is-never-safe-to-cheat/ 80. http://yaxu.org/more-hackery/ 81. http://eclipsefp.wordpress.com/2009/06/03/clientserver-communication/ 82. http://just-bottom.blogspot.com/2009/06/first-graphs.html 83. http://www.alsonkemp.com/haskell/turbinado-v065/ 84. http://donsbot.wordpress.com/2009/06/02/the-haskell-platform-2009-2-0-1/ 85. http://www.alsonkemp.com/haskell/turbinado-v065/ 86. http://blog.snoyman.com/2009/06/02/functors-and-monads-containers/ 87. http://blog.well-typed.com/2009/06/come-talk-at-the-haskell-implementers-workshop/ 88. http://web.mornfall.net/blog/soc_progress_2.html 89. http://www.iis.sinica.edu.tw/~scm/2009/on-a-basic-property-for-the-longest-prefix-problem/ 90. http://benhutchison.wordpress.com/2009/06/02/study-functional-programming-or-be-ignorant/ 91. http://blog.snoyman.com/2009/05/20/run-a-monadcgi-as-a-cgi-application/ 92. http://blog.snoyman.com/2009/05/20/wordify-restful-haskell-web-apps/ 93. http://marcot.iaaeee.org/diario/?p=137 94. http://slawekk.wordpress.com/2009/05/31/probability-monad/ 95. http://coder.bsimmons.name/blog/2009/05/huffman-coding/ 96. http://nibrofun.blogspot.com/2009/05/parametrising-haskell-src-exts-on.html 97. http://justtesting.org/post/115191589 98. http://ghcsparc.blogspot.com/2009/05/cas-experiment.html 99. http://byorgey.wordpress.com/2009/05/28/hac-%cf%86/ 100. http://vis.renci.org/jeff/2009/05/28/buster-22-application-orchestration-redux/ 101. http://www.serpentine.com/blog/2009/05/27/i-put-a-pidgit-in-your-widget-so-you-can-fidget-while-you-calculate-pi/ 102. http://nibrofun.blogspot.com/2009/05/haskell-platform-im-in-love.html 103. http://flygdynamikern.blogspot.com/2009/05/benchmarking-amazon-ec2-with-ghc.html 104. http://flygdynamikern.blogspot.com/2009/03/blogging-with-pandoc-literate-haskell.html 105. http://chrismoos.com/2009/05/26/haskell-aim-client-a-cool-proof-of-concept/ 106. http://marcot.iaaeee.org/diario/?p=130 107. http://www.haskell.org/mailman/listinfo/haskell 108. http://sequence.complete.org/ 109. http://planet.haskell.org/ 110. http://sequence.complete.org/node/feed 111. http://haskell.org/ 112. http://haskell.org/haskellwiki/HWN 113. http://code.haskell.org/~byorgey/code/hwn/ _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe