[Haskell] Haskell Weekly News: Issue 101 - January 19, 2009

Brent Yorgey byorgey at seas.upenn.edu
Mon Jan 19 15:43:48 EST 2009


---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20090119
Issue 101 - January 19, 2009
---------------------------------------------------------------------------

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

   Gee whiz, people, stop being so darn productive or you're going to burn
   me out. Seriously.

Announcements

   curl-1.3.4. Sigbjorn Finne [2]announced that a new version of [3]curl,
   a complete Haskell binding to the libcurl API, is now available and
   have been uploaded to Hackage. The most notable change is the
   overloading of representation of response buffers (and headers),
   allowing for the use of ByteStrings.

   Turbinado V0.4. Alson Kemp [4]announced the release of version 0.4 of
   [5]Turbinado, an easy to use Model-View-Controller-ish web framework
   for Haskell. Highlights for the 0.4 release include a dramatically
   improved ORM which handles foreign keys, and improved documentation.

   Hackage about to reach 1000 releases. Don Stewart [6]announced that
   Hackage is about to reach the 1000 release mark, 2 years after it went
   live. Some pretty charts [7]can be seen here.

   leapseconds-announced-2009. Bjorn Buckwalter [8]announced the release
   of the [9]leapseconds-announced package, which contains a single module
   and a single function implementing the
   Data.Time.Clock.TAI.LeapSecondTable interface.

   zipper-0.1. Andres Loeh [10]announced [11]zipper-0.1, a library
   offering a generic zipper for systems of recursive datatypes.

   multirec-0.2. Andres Loeh [12]announced [13]multirec-0.2, a library
   which provides a mechanism to talk about fixed points of systems of
   datatypes that may be mutually recursive. On top of these
   representations, generic functions such as the fold or the Zipper can
   then be defined.

   ghci-haskeline 0.1. Judah Jacobson [14]announced the first release of
   [15]ghci-haskeline. This package uses the GHC API to reimplement ghci
   with the [16]Haskeline library as a backend. Haskeline is a library for
   line input in command-line programs, similar to readline or editline,
   which is written in Haskell and thus (hopefully) more easily integrated
   into other Haskell programs.

   The Monad.Reader (13) - Call for copy. Wouter Swierstra [17]announced a
   Call for Copy for Issue 13 of [18]The Monad.Reader. The submission
   deadline is February 13, 2009. Please get in touch with Wouter if you
   intend to submit something.

   Cabal 2.0. Duncan Coutts [19]announced that he has started a [20]wiki
   page to collect ideas for Cabal 2. The basic idea for Cabal 2 is to
   learn lessons from our how the existing design has fared and how we can
   make a better design to tackle an expanded set of goals.

   Announcing Haskell protocol-buffers 1.4.0 (the smashing recursive
   edition). Chris Kuklewicz [21]announced version 1.4.0 (the smashing
   recursive edition) of [22]protocol-buffers, a Haskell interface to
   Google's "..language-neutral, platform-neutral, extensible way of
   serializing structured data for use in communications protocols, data
   storage, and more."

   Haskell WikiProject. Robin Green [23]asked: is anyone else interested
   in forming a Haskell WikiProject on Wikipedia, to collaborate on
   improving and maintaining the coverage and quality of articles on
   Haskell-related software and topics (broadly defined)?

   darcs 2.2.0. Petr Rockai [24]announced the release of darcs 2.2.0, with
   both a [25]source tarball and a [26]cabalized tarball available. This
   version features many improvements and bug fixes; see Petr's original
   announcement for a list.

   hledger 0.3. Simon Michael [27]announced the release of [28]hledger
   0.3, a partial haskell clone of John Wiegley's "ledger" text-based
   accounting tool. It generates transaction and balance reports from a
   plain text ledger file, and demonstrates a functional implementation of
   ledger.

   language-sh-0.0.3.1. Stephen Hicks [29]announced the [30]language-sh
   package, a set of modules for parsing, manipulating, and printing
   sh-style shell scripts. It's being developed alongside shsh, the
   [31]Simple Haskell Shell.

   Coadjute 0.0.1, generic build tool. Matti Niemenmaa [32]announced
   version 0.0.1 of [33]Coadjute, a generic build tool intended as an
   easier to use and more portable replacement for make.

   dataenc 0.12. Magnus Therning [34]announced version 0.12 of
   [35]dataenc, a data encoding library currently providing Uuencode,
   Base64, Base64Url, Base32, Base32Hex, Base16, Base85, and (new in 0.12)
   yEncoding.

   3 applications of "indexed composition" as a language design principle.
   Greg Meredith [36]announced that he has found a way to generalize the
   LogicT transformer, and calculated it's [37]application to three fairly
   interesting examples.

   HTTPbis / HTTP-4000.x package available. Sigbjorn Finne [38]announced
   the availability of a modernization of the venerable and trusted
   [39]HTTP package. The headline new feature of this version is the
   parametrization of the representation of payloads in both HTTP requests
   and responses; two new representations are supported, strict and lazy
   ByteStrings.

   monad-interleave 0.1. Patrick Perry [40]announced the
   [41]monad-interleave package, which provides a type class generalizing
   his two favorite functions in Haskell, "unsafeInterleaveIO" and
   "unsafeInterleaveST".

   hs-dotnet, version 0.3.0. Sigbjorn Finne [42]announced the [43]first
   public release of [44]hs-dotnet, a pragmatic take on interoperating
   between Haskell (via GHC) and .NET.

   HEADS UP: finalizer changes coming in GHC 6.10.2. Simon Marlow
   [45]announced that, by popular demand, GHC 6.10.2 will support
   finalizers that are actually guaranteed to run, and run promptly.
   However, there's a catch. If you want to know what the catch is, read
   his message.

   split-0.1.1 (doc bugfix; new functions wordsBy and linesBy). Brent
   Yorgey [46]announced version 0.1.1 of the [47]split library. This
   version fixes some Haddock bugs, and adds two new convenience functions
   suggested by Neil Mitchell, wordsBy and linesBy.

   json-0.4.1. Sigbjorn Finne [48]announced a new release (0.4.1) of the
   [49]json package. New in this release is a generic JSON encoder
   contributed by Lennart Augustsson along with a number of other, smaller
   changes.

   haskell-platform mailing list. Duncan Coutts [50]announced that anyone
   interested in helping out with the haskell platform project is invited
   to subscribe to the [51]haskell-platform mailing list. This mailing
   list is for discussing practical stuff; policy questions will be
   discussed on the libraries mailing list.

   bytestring-trie 0.1.4. wren ng thornton [52]announced version 0.1.4 of
   the [53]bytestring-trie package. This release fixes a number of bugs,
   adds functions such as keys, toListBy, fromList{L,R,S}, and separated
   Data.Trie (the main module for users) from Data.Trie.Internal (gritty
   details, and core implementation).

   HLint 1.2. Neil Mitchell [54]announced [55]HLint version 1.2, a
   lint-like tool for Haskell that detects and suggests improvements for
   your code. The biggest new feature is list recursion suggestions.

   Working with HLint from Emacs. Alex Ott [56]announced an [57]emacs
   module for integration with [58]HLint.

Discussion

   An Alternative Data.List.Zipper. Jeff Wheeler [59]posted [60]an
   improved version of Data.List.Zipper, and requested feedback or
   constructive criticism.

   Comments from OCaml Hacker Brian Hurt. John Goerzen [61]posted a link
   to a [62]blog post by Brian Hurt, along with some thoughts about naming
   things in the standard libraries, spawning the longest ML thread in
   recent history.

Blog noise

   [63]Haskell news from the [64]blogosphere.
     * Jeff Heard: [65]The Docuverse.. Cool search query visualization for
       massive numbers of documents.
     * Ben Moseley: [66]The Category Theory of Appendages.
     * Galois, Inc: [67]Galois at POPL.
     * Colin Ross: [68]Does your IDE define you or support you?.
     * Alson Kemp: [69]ANNOUNCE: Turbinado V0.4.
     * Jeff Heard: [70]ProteinVis: Visualizing a large tree in Haskell and
       OpenGL.
     * ezekiel smithburg: [71]what to do when you can't solve a problem
       with a hackage library you need?.
     * Jeff Heard: [72]Simple Futures in Haskell.
     * Dan Piponi (sigfpe): [73]Haskell Monoids and their Uses. A nice
       introductory tutorial on Monoids in Haskell.
     * Real-World Haskell: [74]John Goerzen on Why You Should Learn
       Haskell.
     * LHC Team: [75]LLVM is great..
     * Jeff Heard: [76]iBiblio traffic, search engine hits, and
       cross-traffic.
     * Luke Palmer: [77]Use MonadRandom!.
     * LHC Team: [78]Why LLVM probably won't replace C--..
     * Magnus Therning: [79]Series of posts on testing Haskell code.
     * Magnus Therning: [80]Useful thing when adopting test-framework
       after already using HUnit.
     * Magnus Therning: [81]dataenc 0.12 posted to HackageDB.
     * Jeff Heard: [82]The new HTTP library.
     * Jeff Heard: [83]Beautiful Code, Compelling Evidence.
     * LHC Team: [84]The case against C/LLVM..
     * Manuel M T Chakravarty: [85]Some nice code examples showing how to
       use type families..
     * Manuel M T Chakravarty: [86]Enforcing a relation between
       independent type families..
     * Nick Mudge: [87]Zunes, Year 2038 Problem, Real World Haskell, Why,
       Potion, Games.
     * Darcs: [88]darcs 2.2.0 is released!.
     * GHC / OpenSPARC Project: [89]Info tables.
     * LHC Team: [90]What is LHC?.
     * LHC Team: [91]Resources..
     * LHC Team: [92]Typeclass Blues.
     * GHC / OpenSPARC Project: [93]Liveness lies.
     * Galois, Inc: [94]Real World Haskell: Intel Parallel Programming
       Podcast.
     * Real-World Haskell: [95]Intel Parallel Programming Podcast: Real
       World Haskell.
     * Brent Yorgey: [96]Abstraction, intuition, and the "monad tutorial
       fallacy".
     * Luke Palmer: [97]Ha! I can't even get Events right.
     * GHC / OpenSPARC Project: [98]Bootstrapping 7.
     * Colin Ross: [99]Finding a member of an infinite list.
     * LHC Team: [100]The mess with variable ids..
     * Luke Palmer: [101]Ridding ourselves of IO before there is a good
       replacement.
     * GHC / OpenSPARC Project: [102]Bootstrapping 7.
     * Colin Ross: [103]Notes on working with finite sorted lists.
     * Bryan O'Sullivan: [104]Fun with Haskell view patterns.
     * Conal Elliott: [105]3D rendering as functional reactive
       programming.

Quotes of the Week

     * luqui: sigh: mathematicians. can't live with 'em, can't prove 'em
       wrong.
     * mauke: YO DAWG I HEARD YOU LIKE METACIRCULARITY SO WE PUT AN
       INTERPRETER IN YOUR INTERPRETER SO YOU CAN RUN CODE WHILE YOU RUN
       CODE
     * lament: tuples are proof that haskell is inherently broken and will
       never work.
     * roconnor: [after a long -cafe thread on the suckiness of using math
       terms in Haskell] we don't use Integer anymore. Too abstract. It is
       now called CountingThingy.
     * quicksilver: partially applied type synonym = type lambdas =
       unrestricted type functions = can of pants
     * ddarius: In the spirit of that article on monoids, we should drop
       the term "tree" and replace it with the term "free pointed magma"
     * ski_: unique among types, 'Void -> X' has its own charm. tourists
       should definitely pay a visit.
     * pao: Cale: thanks ... I really think you deserve a statue ... or,
       at least, a portrait in ascii art on haskell.org :-)
     * byorgey: TDD replaces a type checker in Ruby in the same way that a
       strong drink replaces sorrows.

About the Haskell Weekly News

   New editions are posted to [106]the Haskell mailing list as well as to
   [107]the Haskell Sequence and [108]Planet Haskell. [109]RSS is also
   available, and headlines appear on [110]haskell.org.

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

References

   1. http://haskell.org/
   2. http://article.gmane.org/gmane.comp.lang.haskell.general/16792
   3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl
   4. http://article.gmane.org/gmane.comp.lang.haskell.general/16788
   5. http://www.turbinado.com/
   6. http://article.gmane.org/gmane.comp.lang.haskell.general/16782
   7. http://archhaskell.wordpress.com/2009/01/18/open-source-haskell-releases-and-growth/
   8. http://article.gmane.org/gmane.comp.lang.haskell.general/16770
   9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/leapseconds-announced
  10. http://article.gmane.org/gmane.comp.lang.haskell.general/16756
  11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zipper
  12. http://www.haskell.org//pipermail/haskell/2009-January/020925.html
  13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec
  14. http://article.gmane.org/gmane.comp.lang.haskell.general/16751
  15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghci-haskeline
  16. http://trac.haskell.org/haskeline
  17. http://article.gmane.org/gmane.comp.lang.haskell.general/16750
  18. http://www.haskell.org/haskellwiki/The_Monad.Reader
  19. http://article.gmane.org/gmane.comp.lang.haskell.libraries/10568
  20. http://hackage.haskell.org/trac/hackage/wiki/Cabal-2
  21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/10497
  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/protocol-buffers
  23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/51037
  24. http://www.haskell.org//pipermail/haskell-cafe/2009-January/053732.html
  25. http://www.darcs.net/darcs-2.2.0.tar.gz
  26. http://hackage.haskell.org/packages/archive/darcs/2.2.0/darcs-2.2.0.tar.gz
  27. http://www.haskell.org//pipermail/haskell-cafe/2009-January/053843.html
  28. http://joyful.com/hledger
  29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50907
  30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/language-sh
  31. http://code.haskell.org/shsh/
  32. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50896
  33. http://iki.fi/matti.niemenmaa/coadjute/
  34. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50831
  35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dataenc
  36. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50756
  37. http://biosimilarity.blogspot.com/2009/01/3-applications-of-indexed-composition.html
  38. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50748
  39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTTP
  40. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50648
  41. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monad-interleave
  42. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50548
  43. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hs-dotnet
  44. http://haskell.forkIO.com/dotnet
  45. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50477
  46. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50421
  47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/split
  48. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50362
  49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/json
  50. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50336
  51. http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform
  52. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50292
  53. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bytestring-trie
  54. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50283
  55. http://www-users.cs.york.ac.uk/~ndm/hlint/
  56. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50264
  57. http://xtalk.msk.su/~ott/common/emacs/hs-lint.el
  58. http://www-users.cs.york.ac.uk/~ndm/hlint/
  59. http://thread.gmane.org/gmane.comp.lang.haskell.general/16771
  60. http://hpaste.org/14030
  61. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/50590
  62. http://enfranchisedmind.com/blog/2009/01/15/random-thoughts-on-haskell/
  63. http://planet.haskell.org/
  64. http://haskell.org/haskellwiki/Blog_articles
  65. http://vis.renci.org/jeff/?p=66
  66. http://nattermorphisms.blogspot.com/2009/01/category-theory-of-appendages.html
  67. http://www.galois.com/blog/2009/01/18/galois-at-popl/
  68. http://vcolin.com/2009/01/18/ide-define-support/
  69. http://www.alsonkemp.com/haskell/announce-turbinado-v04/
  70. http://vis.renci.org/jeff/?p=52
  71. http://tehgeekmeister.wordpress.com/2009/01/17/what-to-do-when-you-cant-solve-a-proble/
  72. http://vis.renci.org/jeff/?p=27
  73. http://sigfpe.blogspot.com/2009/01/haskell-monoids-and-their-uses.html
  74. http://www.realworldhaskell.org/blog/2009/01/17/john-goerzen-on-why-you-should-learn-haskell/
  75. http://lhc-compiler.blogspot.com/2009/01/llvm-is-great.html
  76. http://vis.renci.org/jeff/?p=33
  77. http://lukepalmer.wordpress.com/2009/01/17/use-monadrandom/
  78. http://lhc-compiler.blogspot.com/2009/01/why-llvm-probably-wont-replace-c.html
  79. http://therning.org/magnus/archives/436
  80. http://therning.org/magnus/archives/437
  81. http://therning.org/magnus/archives/434
  82. http://vis.renci.org/jeff/?p=8
  83. http://vis.renci.org/jeff/?p=4
  84. http://lhc-compiler.blogspot.com/2009/01/case-against-cllvm.html
  85. http://justtesting.org/post/70895924
  86. http://justtesting.org/post/70893530
  87. http://nickmudge.info/?post=103
  88. http://blog.darcs.net/2009/01/darcs-220-is-released.html
  89. http://ghcsparc.blogspot.com/2009/01/info-tables.html
  90. http://lhc-compiler.blogspot.com/2009/01/what-is-lhc.html
  91. http://lhc-compiler.blogspot.com/2009/01/resources.html
  92. http://lhc-compiler.blogspot.com/2009/01/typeclass-blues.html
  93. http://ghcsparc.blogspot.com/2009/01/liveness-lies.html
  94. http://www.galois.com/blog/2009/01/13/real-world-haskell-intel-parallel-programming-podcast/
  95. http://www.realworldhaskell.org/blog/2009/01/13/intel-parallel-programming-podcast-real-world-haskell/
  96. http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
  97. http://lukepalmer.wordpress.com/2009/01/13/ha-i-cant-even-get-events-right/
  98. http://ghcsparc.blogspot.com/2009/01/bootstrapping-7.html
  99. http://vcolin.com/2009/01/12/finding-member-infinite-list/
 100. http://lhc-compiler.blogspot.com/2009/01/mess-with-variable-ids.html
 101. http://lukepalmer.wordpress.com/2009/01/12/ridding-ourselves-of-io-before-there-is-a-good-replacement/
 102. http://ghcsparc.blogspot.com/2009/01/bootstrapping-7.html
 103. http://vcolin.com/2009/01/11/notes-working-finite-sorted-lists/
 104. http://www.serpentine.com/blog/2009/01/11/fun-with-haskell-view-patterns/
 105. http://conal.net/blog/posts/3d-rendering-as-functional-reactive-programming/
 106. http://www.haskell.org/mailman/listinfo/haskell
 107. http://sequence.complete.org/
 108. http://planet.haskell.org/
 109. http://sequence.complete.org/node/feed
 110. http://haskell.org/
 111. http://haskell.org/haskellwiki/HWN
 112. http://code.haskell.org/~byorgey/code/hwn/


More information about the Haskell mailing list