[Haskell-cafe] Haskell Weekly News: Issue 128 - August 26, 2009

Brent Yorgey byorgey at seas.upenn.edu
Wed Aug 26 18:56:56 EDT 2009

Haskell Weekly News
Issue 128 - August 26, 2009

   Welcome to issue 128 of HWN, a newsletter covering developments in the
   [1]Haskell community.

   New releases of haddock, gitit, jhc, formlets, and lots of other
   libraries and tools; Edinburgh Hack Day, ICFP, and HacPDX coming up;
   exciting times! The Google Summer of Code has also wrapped up. See
   below for final progress reports from this summer's Haskell

   PS: Just as this was going to press, Thomas Ten Cate released the
   Scion library from his Google Summer of Code project; hence it
   isn't listed below but you should check it out anyway!


   GLUT Sven Panne [2]announced a new version of the [3]GLUT
   package. The package is now autoconf-free, with API entries are
   resolved dynamically at runtime; support for sRGB framebuffers has been
   added; and support for context profiles has been added.

   Potential Network SIG. Thomas DuBuisson [4]announced the formation of a
   SIG to hammer out a design for a new Network API, seeing as the current
   API, a straight-forward Berkeley binding, doesn't seem to please anyone
   in a Haskell context.

   epoll bindings 0.1.1. Toralf Wittner [5]announced the release of
   [6]epoll bindings 0.1.1. Epoll is an I/O event notification facility
   for Linux similar to poll but with good scaling characteristics.
   Currently the bindings are fairly low level and close to the C API, but
   there are plans to add some buffer or stream abstraction on top.
   Eventually, when GHC can make use of epoll/kqueue in addition to
   select, this library will not be needed anymore. Until then it might be
   useful for applications which monitor large numbers of file

   gitit 0.6.1. John MacFarlane [7]announced the release of [8]gitit
   0.6.1, a wiki program that runs on happstack, the Haskell web
   application server stack, and stores pages and other content in a git
   or darcs filestore. The whole code base has been overhauled since the
   last release: gitit is now faster, more memory efficient, more modular,
   and more secure. It also has many new features, including page metadata
   and categories, atom feeds (sitewide and per-page), support for
   literate Haskell, a better configuration system, an improved caching
   system, a Haskell library exporting happstack wiki handlers, and a
   plugin system.

   jhc 0.7.1. John Meacham [9]announced the 0.7.1 release of the [10]jhc
   optimizing Haskell compiler. There have been a lot of changes since the
   last public release. Some notable ones include the use of a general
   compiler cache by default rather than object files; reworked library
   support; an updated manual, with clearer build instructions; support
   for writing pure C libraries in Haskell; numerous library updates;
   smart progress meters; typechecking before compilation; and various bug
   fixes and cross compilation improvements.

   rss2irc 0.3 released. Simon Michael [11]announced the release of
   [12]rss2irc version 0.3, an irc bot created by Don Stewart to watch rss
   feeds and announce new items on irc, now maintained by Simon. This
   version includes reliable http networking, irc flood protection, better
   error handling & reporting, extensive debugging output, Atom support,
   more useful defaults, precise control of irc output, and is now
   installable on OSX. Feedback and patches welcome.

   formlets 0.6. Chris Eidhof [13]announced that the formlets team has
   released a new version of [14]formlets, a library to build type-safe,
   composable web forms. Most notably, Mightybyte and Chris worked on the
   [15]massInput functionality, which is now ready for use!

   graphtype -- A simple tool to illustrate dependencies between Haskell
   types. Max Desyatov [16]announced the release of [17]graphtype, a tool
   for visualising type declarations in Haskell source files. It produces
   [18].dot-files for subsequent processing with graphviz.

   OAuth library in haskell. Diego Souza [19]announced the release of
   [20]hoauth, a library which helps you to deal with the [21]oauth
   protocol. Currently it supports only consumer side applications, but
   there are plans to add service providers support in near future.

   ByteString Nums. Jason Dusek [22]announced [23]bytestring-nums, a
   simple package for relatively careless parsing of numbers from
   ByteStrings. It works to parse out integer strings, floating point
   strings and hex strings.

   haskell-src-exts-1.1.3. Niklas Broberg [24]announced the release of
   [25]haskell-src-exts-1.1.3, a package for Haskell source code
   manipulation. It handles (almost) all syntactic extensions to the
   Haskell 98 standard implemented by GHC, and the parsing can be
   parametrised on what extensions to recognise. haskell-src-exts-1.1.3 is
   a highly experimental release, which does not change the current stable
   part of haskell-src-exts. But it includes a whole new set of modules
   implementing a new and more accurate syntax tree where all nodes are
   adorned with annotations. Together with this comes a parser that
   retains exact source information, stored in the aforementioned
   annotations. Help in testing and bug reporting is welcome and

   ministg-0.2, an interpreter for STG operational semantics. Bernie Pope
   [26]announced the first public release of [27]Ministg, an interpreter
   for a high-level, small-step, operational semantics for the STG
   machine, the abstract machine at the core of GHC. One of the main
   features of Ministg is the ability to record a trace of the execution
   steps as a sequence of HTML files; here is an [28]example trace.

   OpenCLRaw 1.0.1000. Jeff Heard [29]announced the release of
   [30]OpenCLRaw, a raw binding to the OpenCL, a platform for single-host
   heterogeneous, data-parallel computing. He has future plans to create
   higher-level bindings on top of these raw ones.

   compose-trans-0.0. Miguel Mitrofanov [31]announced [32]compose-trans, a
   small library intended to make monad transformers composable.

   Haddock version 2.5.0. David Waern [33]announced the release of
   [34]Haddock 2.5.0. This version reverts to the old multi-page index for
   large packages, shows GADT records in the generated documentation, adds
   a --use-unicode flag for displaying prettier versions of common
   symbols, and many other changes.

   Edinburgh Meetup (Sat 29 Aug) and Hack Day (Sun 30 Aug). Eric Kow
   [35]sent a reminder that we will be having a [36]Hack Day in Edinburgh
   on Sunday 30 August at the ICFP venue. There will also be a meetup the
   day before, 09:30 Saturday 29 August just outside the ICFP venue; we'll
   have a quick wander and hopefully find some nice places to sit and
   chat, whip out the occasional laptop and fling a lambda or not being
   careful not to injure the passers-by.

   Cleaner networking API - network-fancy. Taru Karttunen [37]announced
   [38]network-fancy, which offers a cleaner API to networking facilities
   in Haskell. It supports high-level operations on tcp, udp and unix
   sockets. Feedback on the API is welcome!

   GLFW-0.4.1. Paul L [39]announced a new version of [40]GLFW, 0.4.1.
   Notable changes include a workaround for a FFI bug that affects GHC <
   6.10 on 64-bit machines, a fix for the compilation problem on OS X for
   GHC > 6.10.1, a compatibility fix to work with both OpenGL and
   older versions, choice of a "dynamic" flag to link with dynamic GLFW C
   library instead, and a number of other fixes, cleanups and

   HacPDX, A Hackathon in Portland. Thomas DuBuisson [41]announced
   [42]HacPDX, an opportunity for Portland Haskell hackers to join
   together in building and improving libraries and tools. If you've never
   been, hackathons are typically not only a good opportunity for
   experienced devs to work together but also a great way for newcomers to
   get involved in the community. HacPDX will take place Friday September
   25 to Sunday September 27 at Portland State University; see the email
   for more specific details.

   Hack on the Delve core, with Delve and Haskell. spoon [43]announced
   [44]Delve, a new programming language intended to bring the benefits of
   static type checking and functional programming to object-oriented
   design and development, currently being implemented in Haskell.
   Contributors welcome!

   cabal-query 0.1. Max Desyatov [45]announced the release of
   [46]cabal-query, a package to assist in finding a set of Cabal packages
   which satisfy your needs.

   EnumMap-0.0.1. John Van Enk [47]announced the first version of
   [48]EnumMap, a generalization of IntMap that constrains the key to Enum
   rather than forcing it to be Int.

Google Summer of Code

   Progress updates from participants in the 2008 [49]Google Summer of

   Haddock improvements! Isaac Dupree has [50]wrapped up his project, with
   patches waiting to be merged back into both Haddock and GHC. His final
   post contains a detailed description of the work he did; looks like
   we'll have much better cross-package documentation support in Haddock

   EclipseFP. Thomas Ten Cate began adding a notion of [51]build targets
   to EclipseFP, so that projects can be created without .cabal files. He
   has [52]wrapped up the project for now, and although he isn't fully
   happy with the results that he achieved, he was able to make useful
   contributions which hopefully others can continue to build on.

   Improving the Haskell space profiling experience. Gergely Patai's
   project is done: he [53]uploaded hp2any, a set of realtime space
   profiling tools, to Hackage. He also [54]created a [55]haskellwiki page
   describing it and its use.

   haskell-src-exts -> haskell-src. Niklas Broberg has been [56]working on
   a complete revamp of the AST, lexer and parser to allow for exact
   source info to be kept in the tree, which in turn will allow exact
   printing of the code as it was read.

   darcs. Petr Rockai posted a [57]final report where he described his
   accomplishments: the hashed-storage library for reading and writing
   filesystem trees in hash-based formats; darcs whatsnew integration with
   hashed-storage; progress on a new and improved version of
   hashed-storage, and a branch of darcs depending on it; and
   darcs-benchmark, a standalone package for benchmarking darcs.


   Unification and matching in Abelian groups. John D. Ramsdell [58]shared
   some code implementing unification and matching in Abelian groups.

   Grouping and SIMD in parallel Haskell (using Nested Data Parallel
   Haskell ideas in legacy code). Zefirov Sergey [59]posted some code
   showing how to translate Parallel Haskell programs (expressed with par
   and pseq) into Nested Data Parallel Haskell.

   Request for Comments - hscurrency 0.0.1. Max Cantor [60]requested
   feedback on some simple tools to do safe calculations on different

   DDC compiler and effects; better than Haskell? (was Re:
   unsafeDestructiveAssign?). Peter Verswyvelen began a long
   [61]discussion about the DDC compiler and its effect system, and the
   relationship to Haskell and monads.


   Credit Suisse is hiring. Ganesh Sittampalam [62]announced that the
   Global Modelling and Analytics Group (GMAG) at Credit Suisse is once
   again looking to hire functional programmers; see his email for more

   Jane Street is Hiring (as if you didn't already know). Yaron Minsky
   sent out a [63]reminder that [64]Jane Street is looking to hire
   functional programmers; see his email for more details. He also
   mentioned that he will be at parts of ICFP, CUFP and DEFUN this year,
   so if you're interested, come and talk to him there.

   Galois is Hiring. Don Stewart [65]announced that Galois is continuing
   to hire, with multiple positions for talented functional programmers
   (with both junior and senior positions). They will be at ICFP and
   related events; see Don or Lee Pike.

Blog noise

   [66]Haskell news from the [67]blogosphere. Blog posts from people new
   to the Haskell community are marked with >>>, be sure to welcome them!
     * Isaac Dupree: [68]Summer of Code Wrap-Up..
     * Thomas ten Cate: [69]Endgame.
     * Jeff Heard: [70]Followup to my earlier post on Hilbert curve
       timeseries plots.
     * Jeff Heard: [71]Plotting timeseries in space filling curves.
     * Magnus Therning: [72]Making a choice from a list in Haskell, Vty
       (part 5, the last one).
     * Magnus Therning: [73]Fork/exec in Haskell.
     * Edward Kmett: [74]Iteratees, Parsec and Monoids (Slides).
     * Chris Smith: [75]Flow Equivalence Code in Haskell.
     * Thomas Ten Cate: [76]Build targets.
     * Chris Smith: [77]Catching a Mathematical Error Using Haskell's Type
     * Well-Typed: [78]Industrial Haskell Group meeting at CUFP.
     * London HUG: [79]Next meeting: Alex McLean, Live coding music with
     * David Amos: [80]Finite fields, part 1.
     * Greg Bacon: [81]Simple analogy for lazy evaluation .
     * Magnus Therning: [82]JSON in Haskell.
     * Notes on the LHC: [83]Status update: New Integer implementation..
     * Edward Kmett: [84]Clearer Reflections.
     * Petr Rockai: [85]soc final report.
     * Gergely Patai: [86]hp2any overview online.
     * Brent Yorgey: [87]New 2D text layout library.
     * Manuel Chakravarty: [88]World's first formal machine-checked proof
       of a general-purpose operating system kernel..
     * Bryan O'Sullivan: [89]Haskell Platform support for Fedora: we're
       almost there.
     * Gergely Patai: [90]hp2any on Hackage.
     * Doug Beardsley: [91]Dynamic List Formlets in Haskell .
     * Niklas Broberg: [92]Quick update.
     * Christopher Lane Hinson: [93]FactoryArrow.
     * Michael Feathers: [94]Imposing the Edges Later .
     * Brent Yorgey: [95]Species operations: differentiation.
     * >>> Ron Leisti: [96]A prime number sieve in Haskell.

Quotes of the Week

     * bos: You don't get accurate answers from Perl. It just lies to you
       to keep you happy.
     * ray: haskell' will come out in 2020 and be h98 with hierarchical
     * ray: enlarge your kleisli arrow, please the category ladies
     * quicksilver: making the compiler writer's job painful is one of the
       main duties of a language designer.
     * gwern: as a plugin, yes, but that's like being so out of shape that
       a guy in a wheelchair can outrace you - yes, he needs a tool, but
       you should still be ashamed of yourself
     * Cale's Lemma: Any sufficiently long string of operator symbols
       looks like a fish.
     * randomwords: How "complete" does an application before it's OK to
       upload to hackage? <ray> there are no standards <randomwords>
       lawless wasteland. Got it.
     * ndm: I was browsing through the Yhc standard libraries, as one does
       on the weekend, and was drawn to Yhc's sort function.
     * michaelfeathers: I did a parody post to Haskell Cafe last year
       where I had some code that was calling (nub . nub) zip12 and asked
       if there was a zip13 and no one called it out as a joke.

About the Haskell Weekly News

   New editions are posted to [97]the Haskell mailing list as well as to
   [98]the Haskell Sequence and [99]Planet Haskell. [100]RSS is also
   available, and headlines appear on [101]haskell.org.

   To help create new editions of this newsletter, please see the
   information on [102]how to contribute. Send stories to byorgey at cis
   dot upenn dot edu. The darcs repository is available at darcs get
   [103]http://code.haskell.org/~byorgey/code/hwn/ .


   1. http://haskell.org/
   2. http://article.gmane.org/gmane.comp.lang.haskell.general/17442
   3. http://hackage.haskell.org/package/GLUT
   4. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11813
   5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62782
   6. http://hackage.haskell.org/package/epoll
   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62776
   8. http://gitit.johnmacfarlane.net/
   9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62759
  10. http://repetae.net/computer/jhc
  11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62743
  12. http://hackage.haskell.org/package/rss2irc
  13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62738
  14. http://hackage.haskell.org/package/formlets
  15. http://softwaresimply.blogspot.com/2009/08/dynamic-list-formlets-in-haskell.html
  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62736
  17. http://hackage.haskell.org/package/graphtype
  18. http://i.piccy.info/i4/00/90/bfa07290012c2d3b455696bdaa86.png
  19. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62735
  20. http://hackage.haskell.org/package/hoauth
  21. http://oauth.net/
  22. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62695
  23. http://hackage.haskell.org/package/bytestring-nums
  24. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62682
  25. http://hackage.haskell.org/package/haskell-src-exts
  26. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62559
  27. http://www.haskell.org/haskellwiki/Ministg
  28. http://www.cs.mu.oz.au/~bjpop/trace/step0.html
  29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62414
  30. http://hackage.haskell.org/package/OpenCLRaw
  31. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62390
  32. http://hackage.haskell.org/package/compose%2Dtrans
  33. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62341
  34. http://www.haskell.org/haddock
  35. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62324
  36. http://www.haskell.org/haskellwiki/Hac7
  37. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62277
  38. http://hackage.haskell.org/package/network%2Dfancy
  39. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62259
  40. http://hackage.haskell.org/package/GLFW
  41. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62195
  42. http://haskell.org/haskellwiki/HacPDX
  43. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62173
  44. http://killersmurf.blogspot.com/
  45. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62139
  46. http://hackage.haskell.org/package/cabal%2Dquery
  47. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62119
  48. http://hackage.haskell.org/package/EnumMap
  49. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008
  50. http://haddock2009.wordpress.com/2009/08/26/summer-of-code-wrap-up/
  51. http://eclipsefp.wordpress.com/2009/08/20/build-targets/
  52. http://eclipsefp.wordpress.com/2009/08/25/endgame/
  53. http://just-bottom.blogspot.com/2009/08/hp2any-on-hackage.html
  54. http://just-bottom.blogspot.com/2009/08/hp2any-overview-online.html
  55. http://www.haskell.org/haskellwiki/Hp2any
  56. http://nibrofun.blogspot.com/2009/08/just-quick-note-since-i-realise-i.html
  57. http://web.mornfall.net/blog/soc_final_report.html
  58. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62486
  59. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62403
  60. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62342
  61. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62205
  62. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62406
  63. http://article.gmane.org/gmane.comp.lang.haskell.general/17436
  64. http://www.janestreet.com/
  65. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62191
  66. http://planet.haskell.org/
  67. http://haskell.org/haskellwiki/Blog_articles
  68. http://haddock2009.wordpress.com/2009/08/26/summer-of-code-wrap-up/
  69. http://eclipsefp.wordpress.com/
  70. http://vis.renci.org/jeff/2009/08/24/followup-to-my-earlier-post-on-hilbert-curve-timeseries-plots/
  71. http://vis.renci.org/jeff/2009/08/24/plotting-timeseries-in-space-filling-curves/
  72. http://therning.org/magnus/archives/732
  73. http://therning.org/magnus/archives/727
  74. http://comonad.com/reader/2009/iteratees-parsec-and-monoid/
  75. http://cdsmith.wordpress.com/2009/08/20/flow-equivalence-code-in-haskell/
  76. http://eclipsefp.wordpress.com/2009/08/20/build-targets/
  77. http://cdsmith.wordpress.com/2009/08/19/catching-a-mathematical-error-using-haskells-type-system/
  78. http://blog.well-typed.com/2009/08/industrial-haskell-group-meeting-at-cufp/
  79. http://www.londonhug.net/2009/08/18/next-meeting-alex-mclean-live-coding-music-with-haskell/
  80. http://haskellformaths.blogspot.com/2009/08/finite-fields-part-1.html
  81. http://gbacon.blogspot.com/2009/08/simple-analogy-for-lazy-evaluation.html
  82. http://therning.org/magnus/archives/719
  83. http://lhc-compiler.blogspot.com/2009/08/status-update-new-integer.html
  84. http://comonad.com/reader/2009/clearer-reflection/
  85. http://web.mornfall.net/blog/soc_final_report.html
  86. http://just-bottom.blogspot.com/2009/08/hp2any-overview-online.html
  87. http://byorgey.wordpress.com/2009/08/14/new-2d-text-layout-library/
  88. http://justtesting.org/post/162408446/worlds-first-formal-machine-checked-proof-of-a
  89. http://www.serpentine.com/blog/2009/08/12/haskell-platform-support-for-fedora-were-almost-there/
  90. http://just-bottom.blogspot.com/2009/08/hp2any-on-hackage.html
  91. http://softwaresimply.blogspot.com/2009/08/dynamic-list-formlets-in-haskell.html
  92. http://nibrofun.blogspot.com/2009/08/just-quick-note-since-i-realise-i.html
  93. http://blog.downstairspeople.org/2009/08/09/factoryarrow/
  94. http://blog.objectmentor.com/articles/2009/08/08/imposing-the-edges-later
  95. http://byorgey.wordpress.com/2009/08/05/species-operations-differentiation/
  96. http://www.ronleisti.com/wp/2009/07/26/a-prime-number-sieve-in-haskell/
  97. http://www.haskell.org/mailman/listinfo/haskell
  98. http://sequence.complete.org/
  99. http://planet.haskell.org/
 100. http://sequence.complete.org/node/feed
 101. http://haskell.org/
 102. http://haskell.org/haskellwiki/HWN
 103. http://code.haskell.org/~byorgey/code/hwn/

More information about the Haskell-Cafe mailing list