[Haskell-cafe] Haskell Weekly News: January 31, 2007

Donald Bruce Stewart dons at cse.unsw.edu.au
Wed Jan 31 04:42:29 EST 2007


---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20070131
Issue 57 - January 31, 2007
---------------------------------------------------------------------------

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

   Lots of news to report after a break due to Hac '07 and POPL.

   1. http://haskell.org/

Announcements

   lhs2tex 1.12. Andres Loeh [2]announced lhs2TeX version 1.12, a
   preprocessor to generate LaTeX code from literate Haskell sources.
   [3]lhs2TeX includes the following features: highly customized output;
   liberal parser; generate multiple versions of a program or document
   from a single source; active documents: call Haskell to generate parts
   of the document (useful for papers on Haskell); a manual explaining
   all the important aspects of lhs2TeX.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/14733
   3. http://www.iai.uni-bonn.de/~loeh/lhs2tex/

   hscom. Krasimir Angelov [4]announced the [5]hscom library. This is a
   FFI library for Microsoft COM. It is far from complete and it doesn't
   have automatic IDL to Haskell translator but if you have ever thought
   to start writing you own COM library for Haskell then please take a
   look. It is designed to be as close as possible to the standard FFI
   library for C.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14743
   5. http://darcs.haskell.org/packages/hscom/

   DeepArrow 0.0: Arrows for 'deep application'. Conal Elliott
   [6]announced the birth of [7]DeepArrow, a Haskell library for
   composable 'editors' of pure values. DeepArrow enables 'deep function
   application' in two senses: deep application of functions and
   application of deep functions. These tools generalize beyond values
   and functions, via the DeepArrow subclass of the Arrow type class.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14753
   7. http://haskell.org/haskellwiki/DeepArrow

   Phooey 0.1: functional user interface library. Conal Elliott
   [8]announced version 0.1 of [9]Phooey, an arrow-based functional user
   interface library. New in version 0.1: documentation, text input,
   boolean input/output, mtl. Phooey is now used in [10]TV.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14754
   9. http://haskell.org/haskellwiki/phooey
  10. http://haskell.org/haskellwiki/TV

   TV 0.0: Tangible Values. Conal Elliott [11]announced TV, a library for
   composing tangible values (TVs): values that carry along external
   interfaces. In particular, TVs can be composed to create new TVs, and
   they can be directly executed with a friendly GUI, a process that
   reads and writes character streams, or many other kinds interfaces.
   Values and interfaces are combined for direct use, and separable for
   composability. [12]See the project page.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14755
  12. http://haskell.org/haskellwiki/TV

   polyparse 1.00. Malcolm Wallace [13]announced the release of
   [14]PolyParse, a collection of parser combinator libraries in Haskell.
   They were all previously distributed as part of HaXml, but are now
   split out to make them more widely available.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/14777
  14. http://www.cs.york.ac.uk/fp/polyparse

   Data.Binary: binary serialisation. The Binary Strike Force
   [15]announced the release of [16]Binary, a high performance, pure
   binary serialisation library for Haskell. It is available from
   [17]Hackage and [18]darcs. The 'binary' package provides efficient
   serialisation of Haskell values to and from lazy ByteStrings.
   ByteStrings constructed this way may then be written to disk, written
   to the network, or further processed (e.g. stored in memory directly,
   or compressed in memory with zlib or bzlib).

  15. http://article.gmane.org/gmane.comp.lang.haskell.general/14800
  16. http://www.cse.unsw.edu.au/~dons/binary/Data-Binary.html
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary/0.2
  18. http://darcs.haskell.org/binary

   DrIFT 2.2.1: support for Data.Binary. John Meacham [19]announced that
   [20]DrIFT 2.2.1 is out and now has support for the Data.Binary module.

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/14802
  20. http://repetae.net/~john/computer/haskell/DrIFT/

   A History of Haskell. Simon Peyton-Jones [21]mentioned that the paper
   'A History of Haskell: being lazy with class', authored by Paul Hudak,
   John Hughes, Phil Wadler and Simon, is finally done. [22]You can get a
   copy now!

  21. http://article.gmane.org/gmane.comp.lang.haskell.general/14793
  22. http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm

   piggybackGHC 0.1. Martin Grabmueller [23]announced the release 0.1 of
   [24]piggybackGHC, a small utility package for using GHC for lexing and
   parsing Haskell source code. The library uses the GHC library for all
   the hard stuff, so all supported GHC extensions are available.

  23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18461
  24. http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/

   regex-tdfa 0.20. Chris Kuklewicz [25]announced regex-tdfa, a 'tagged'
   DFA regular expression backend in pure Haskell, along with a suite of
   updates to the existing regex packages.

  25. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18553

   hpaste.org. Eric Mertens [26]announced 'hpaste', the [27]Haskell
   Pastebin. Developed over a few days by many of the members of the
   Haskell irc channel, it provies a reliable paste bot with
   Haskell-specific capabilities.

  26. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18565
  27. http://hpaste.org/

Haskell'

   This section covers the [28]Haskell' standardisation process.

     * [29]Views in Haskell
     * [30]Pattern guards
     * [31]Help from the community
     * [32]Polymorphic Components

  28. http://hackage.haskell.org/trac/haskell-prime
  29. http://thread.gmane.org/gmane.comp.lang.haskell.general/14766
  30. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1992
  31. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2002/focus=2026
  32. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2002

Libraries

   This week's proposals and extensions to the [33]standard libraries.

     * [34]Splitting up the crypto package
     * [35]Cofunctors
     * [36]System.Timeout module for base
     * [37]Unsafe aspects of ByteString
     * [38]Add Data.String containing IsString(fromString) to base
     * [39]Make StateT in mtl lazy

  33. http://haskell.org/haskellwiki/Library_submissions
  34. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6108
  35. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6108
  36. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6144
  37. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6152
  38. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6172
  39. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6174

Discussion

   Beautiful concurrency. Simon Peyton-Jones [40]announced that the
   revised draft of 'Beautiful concurrency' is now [41]online, and
   feedback is welcome.

  40. http://article.gmane.org/gmane.comp.lang.haskell.general/14739
  41. http://haskell.org/haskellwiki/Talk:SantaClausProblemV2

   Even higher-order abstract syntax: typeclasses vs GADT. Oleg Kiselyov
   [42]demonstrated a typeclass implementation of the canonical use case
   for GADTs: a higher-order abstract-syntax-based embedding of a
   language in Haskell, with implement static and dynamic semantics of
   the language. The interpreter of the language is tagless and
   statically assured: only well-typed terms may be evaluated, and the
   evaluation of those does not get stuck.

  42. http://article.gmane.org/gmane.comp.lang.haskell.general/14764

   JHC call for volunteers. John Meacham [43]mentioned that Jhc has
   recently gotten a ghc back end, making it much closer to mainstream
   use as an optimizing 'front end' to ghc. In addition to some of jhc's
   crazy optimizations, it implements several extensions to the language
   which will likely prove interesting to play with to some. John would
   like to welcome any volunteers who would like to help develop the ghc
   back end while I work on improving the grin back end and optimizations
   in general, to make JHC a viable alternative compiler for Haskell.

  43. http://article.gmane.org/gmane.comp.lang.haskell.general/14798

   State monad strictness. Yitzchak Gale [44]pondered strictness in State
   monads.

  44. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18276

   Using PAPI to measure performance with CPU events. Alexey Yakushev
   [45]described how to use the new PAPI library together with GHC to
   gather performance information from your CPU (cache misses, branch
   misprediction). At present only cache miss information is supported in
   a platform independent way (though not tested). Also, this
   implementation separates the performance information for the garbage
   collector and the mutator so it is quite useful if you are
   implementing an optimisation.

  45. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18315

   Simple proof-carrying code in Haskell 98. Oleg Kiselyov
   [46]demonstrated a datatype `Terminates' that can hold only an
   assuredly terminating (strongly normalizable) term in untyped
   lambda-calculus. Furthermore, the values of the datatype `Terminates'
   contain all and only those untyped lambda-calculus terms with that
   property. To create the value `Terminates', the user submits the term
   in question and the proof of its termination. The proof will be
   verified -- and if it holds, the Terminates certificate will be
   created.

  46. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18375

   Article review: Category Theory. David House [47]mentioned that he's
   written a chapter for the Wikibook that attempts to teach some basic
   Category Theory in a Haskell hacker-friendly fashion.

  47. http://en.wikibooks.org/wiki/Haskell/Category_theory

   IO is not a monad. Yitzchak Gale [48]sparked a long thread on issues
   of parametricity and polymorphic seq in the IO monad

  48. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18569

   Monad laws for fail. Ulf Norrel [49]wondered about what properties
   'fail' should satisify

  49. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6162

Jobs

   Postdoctoral Research Fellow at St Andrews. Kevin Hammond
   [50]announced a vacancy for a postdoctoral research fellow, working
   with the Hume language developed jointly with [51]Heriot-Watt
   University. Knowledge of Haskell and other functional programming
   technologies is a distinct advantage.

  50. http://article.gmane.org/gmane.comp.lang.haskell.general/14744
  51. http://www.hume-lang.org/

Blog noise

   [52]Haskell news from the blogosphere.

     * [53]Haskell: Too Hard, or Just Hard Enough?
     * [54]One Month with Haskell
     * [55]foldr and foldl in JavaScript
     * [56]Haskell Revisited
     * [57]Haskell, first impressions (with sexy results)
     * [58]Haskell: bootstrapping into a clue about monads
     * [59]How To Use Monad Transformers
     * [60]Error handling in Haskell
     * [61]Learning Haskell inch by inch
     * [62]Haskell: the Basics of Type Classes
     * [63]Clockwork languages
     * [64]Fun with Haskell
     * [65]Programming Productivity and Programming Languages
     * [66]Second order folds
     * [67]Happy Haskell hacking
     * [68]Simple STM TCP server
     * [69]Languages and paradigms and cores, oh my!
     * [70]Bug Reporting
     * [71]High performance Haskell
     * [72]Threads
     * [73]Literate Haskell
     * [74]The end of free lunch CPU performance and other papers
     * [75]The monad behind every zipper
     * [76]The functional C programmer
     * [77]Strictly for Lazy Programmers
     * [78]Haskell introduction for beginners
     * [79]Haskell Basics
     * [80]Haskell laziness
     * [81]A First Step Into Monads
     * [82]More Monads: Stateful Programming
     * [83]Why the IO monad?
     * [84]Haskell epiphanette
     * [85]More About Language Productivty: Corbato's Law
     * [86]Laziness and fizzbuzz in Haskell
     * [87]C# looks scary
     * [88]Random thoughts

  52. http://planet.haskell.org/
  53. http://neilbartlett.name/blog/?p=11
  54. http://blogs.nubgames.com/code/?p=17
  55. http://satta.org/2007/01/08/foldr-and-foldl-in-javascript/
  56. http://corfield.org/blog/index.cfm/do/blog.entry/entry/Haskell_Revisited
  57. http://www.stonecode.org/blog/?p=101
  58. http://www.serpentine.com/blog/2007/01/09/haskell-bootstrapping-into-a-clue-about-monads/
  59. http://cale.yi.org/index.php/How_To_Use_Monad_Transformers
  60. http://edwinb.wordpress.com/2007/01/15/error-handling-in-haskell/
  61. http://e-scribe.com/news/328
  62. http://scienceblogs.com/goodmath/2007/01/haskell_the_basics_of_type_cla_1.php
  63. http://journal.dedasys.com/articles/2007/01/17/clockwork-languages
  64. http://braindump.dk/tech/2007/01/19/fun-with-haskell/
  65. http://josefsblog.blogspot.com/2007/01/programming-productivity-and.html
  66. http://www.acooke.org/andrew/writing/folds.html
  67. http://daniel-yokomizo.livejournal.com/6949.html
  68. http://sequence.complete.org/node/258
  69. http://nointernalmonologue.blogspot.com/2007/01/languages-and-paradigms-and-cores-oh-my.html
  70. http://japple.blogspot.com/2007/01/bug-reporting.html
  71. http://www.randomhacks.net/articles/2007/01/22/high-performance-haskell
  72. http://radar.oreilly.com/archives/2007/01/threads_conside.html
  73. http://emresahin.net/2007/01/21/literate-programming-in-haskell/
  74. http://www.cpu.uttaruk.com/2007/01/25/the-end-of-free-lunch-cpu-performance-and-other-papers/
  75. http://sigfpe.blogspot.com/2007/01/monads-hidden-behind-every-zipper.html
  76. http://jaortega.wordpress.com/2007/01/29/the-functional-c-programmer/
  77. http://floatingpoint.tinou.com/2007/01/strictly_for_la.html
  78. http://blog.interlinked.org/tutorials/haskell_introduction.html
  79. http://blog.interlinked.org/tutorials/haskell_2.html
  80. http://blog.interlinked.org/tutorials/haskell_laziness.html
  81. http://scienceblogs.com/goodmath/2007/01/haskell_a_first_step_into_mona_1.php
  82. http://scienceblogs.com/goodmath/2007/01/more_monads_stateful_programmi_1.php
  83. http://kawagner.blogspot.com/2007/01/real-functional-programming-or-why-io.html
  84. http://rubynations.blogspot.com/2007/01/haskell-epiphanette.html
  85. http://www.neilmix.com/2007/01/25/more-about-language-productivty-corbatos-law/
  86. http://mult.ifario.us/articles/2007/01/25/laziness-and-fizzbuzz-in-haskell
  87. http://garybernhardt.blogspot.com/2007/01/c-30-looks-promising.html
  88. http://poundbang.in/2007/01/22/post-barcamp-thoughts-comments/

Quotes of the Week

     * ndm: [dons] How do we serialise an Int portably? [ndm] Just use
       the first 29 bits

     * C.M.Brown: I told them they could all finish the class in 5
       minutes if they used Haskell... The look of horror on the
       student's faces when I mentioned the 'H' word was priceless.
       However, they were all prepared to spend 50 minutes writing a Java
       program which would have the same effect.

     * dons: dons law: if you have a bug, you are missing a QC property

     * BjarneStroustrup: Within C++, there is a much smaller and cleaner
       language struggling to get out.

     * ClaudiusMaximus: Compiling with -O2 reduced the time taken by my
       program's execution from 28 mins to 17 seconds.

     * dons: Think of a monad as a spacesuite full of nuclear waste in
       the ocean next to a container of apples. now, you can't put
       oranges in the space suite or the nucelar waste falls in the
       ocean, *but* the apples are carried around anyway, and you just
       take what you need.

     * Runar Jordahl: Haskell has quite the following among the alpha
       geeks

     * bakert: I know all my programs can be reduced to only one tenth
       the size if only I can learn all these crazy functions

     * glguy: [on hpaste.org] you can have your code syntax colored
       however you like, as long as that color is 'haskell'

     * huschi: Programing in haskell seems a bit frustrating. i'm missing
       searching for errors :(

     * dons: I had a dream about how to write instance Binary Integer
       last night

     * bd: If a graph is reduced in a forest, and no one is around to
       pattern match the resulting WHNF, does it cause a space leak?

     * bos: [dons] and stricify, specialise and inline as appropriate
       till the raw bytestring Addr# start appearing [bos] um, is that
       next to the dilithium crystals?

     * kolmodin: It's nice to have static types after a bottle of wine

     * nmessenger: Brain explosion is like a traditional pasttime in
       #haskell

Code Watch

   Thu Jan 11 05:13:59 PST 2007.  Pepe Iborra.
   [89]Added the new :breakpoint continue option. Previously, when in a breakpoint, :quit
   was used to continue execution. This is not the right thing to do, so
   this patch restores :quit to its original meaning whether or not ghci
   is in an inferior session. The continue behavior is now provided by
   ':breakpoint continue'. I added a synonim command in :continue because
   it is much shorter, but this is optional

About the Haskell Weekly News

   Each week, new editions are posted to [90]the Haskell mailing list as
   well as to [91]the Haskell Sequence and [92]Planet Haskell. [93]RSS is
   also available, and headlines appear on [94]haskell.org. Headlines are
   available as [95]PDF.

   To help create new editions of this newsletter, please see the
   [96]contributing information. Send stories to dons at cse.unsw.edu.au.
   The darcs repository is available at darcs get
   [97]http://www.cse.unsw.edu.au/~dons/code/hwn

  89. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18817
  90. http://www.haskell.org/mailman/listinfo/haskell
  91. http://sequence.complete.org/
  92. http://planet.haskell.org/
  93. http://sequence.complete.org/node/feed
  94. http://haskell.org/
  95. http://www.cse.unsw.edu.au/~dons/code/hwn/archives/20070131.pdf
  96. http://haskell.org/haskellwiki/HWN
  97. http://www.cse.unsw.edu.au/~dons/code/hwn


More information about the Haskell-Cafe mailing list