---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20080625
Issue 74 - June 25, 2008
---------------------------------------------------------------------------
Welcome to issue 74 of HWN, a newsletter covering developments in the
[1]Haskell community.
This week, you'll notice a bit more detail in the 'Blogs' section. I've
added summaries to some of the posts, to help you decide which you
might be interested to read (only a few this week, since I added them
at the last minute). I've also >>> highlighted blogs not syndicated on
Planet Haskell---mostly people who have just begun learning Haskell and
decided to blog about it. Go show them some comment love, and invite
them into the community!
Community News
Andrew Wagner (chessguy) recently flew out to Microsoft for an
interview with their Live Search team. In [2]an email to the cafe, he
shares some stories from his experience and some interesting coding
challenges.
Announcements
HAppS self-demoing tutorial. Thomas Hartman [3]announced a
self-demoing, HStringTemplate-using intro to HAppS. Check out the
[4]live demo or obtain it [5]from Hackage.
NWFP Interest Group. Greg Meredith [6]announced the next monthly
meeting of the NW Functional Programmers Interest group, 6:30 on June
25 at the Seattle Public Library. Greg will talk about a very cool
[7]compositional representation of graphs he's been tinkering with
recently.
ICFP final call for posters. Matthew Fluet [8]announced the final call
for proposals for the ICFP 2008 poster session, which should be
[9]submitted by June 30. Let people know what you're working on!
type-level and parameterized-data packages. Alfonso Acosta
[10]announced the release of the [11]type-level and parameterized-data
packages, which provide type-level computation and parameterized types
a la a dependently-typed system.
Lambda in the sun. James Iry [12]announced the creation of [13]Southern
California Functional Programmers (SoCalFP), a group for people in LA,
Orange County, and San Diego to meet to discuss, debate, present, and
learn about functional programming concepts and techniques in various
languages.
Real World Haskell. Bryan O'Sullivan [14]announced the availability of
ten new draft chapters of [15]Real World Haskell, the upcoming O'Reilly
book being written by Bryan, John Goerzen, and Don Stewart. In case you
were worried, yes, you'll be able to have one in your Christmas
stocking!
Pugs on hackage!. Audrey Tang has uploaded to Hackage [16]version
6.2.13.2 of [17]Pugs, an implementation of Perl 6 in Haskell.
Literal programming with rst-literals. Martin Blais [18]described a
neat use of his utility [19]rst-literals to extract Haskell code from
ReST documents, enabling a different style of literate programming.
Pipe 1.0. Matti Niemenmaa [20]announced the release of [21]Pipe, a
library for piping data through a pipeline of processes.
HUnit. Richard Giraud [22]announced that he has improved the HUnit
documentation and published the changes in a [23]darcs repository.
hback. Norbert Wojtowicz [24]announced a new release of [25]hback, a
Haskell implementation of the [26]dual n-back memory game using
[27]gtk2hs.
Google Summer of Code
Progress updates from participants in the 2008 [28]Google Summer of
Code.
Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4, and recently
[29]added two new features, multi-word search and intelligent
suggestions.
DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics
engine using [30]Data Parallel Haskell. [31]This week he intended to
implement simple ad-hoc cubic collision geometry to test collisions
with rotation, but the code became too cumbersome and non-extensible.
He took a break to read some papers, and found [32]a better solution.
GHC plugins. Max Bolingbroke is working on dynamically loaded plugins
for GHC. [33]This week he worked on adding arbitrary user-specified
phases to GHC, implementing a control system, pipeline generation, and
[34]Template Haskell integration. Next he plans to work on a plugin
annotation system.
Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a
make-like dependency analysis framework for Cabal. He has posted [35]a
detailed explanation of his project, some of the issues involved, and
his progress so far.
Language.C. Benedikt Huber (visq) is working on Language.C, a
standalone parser/pretty printer library for C99. This week he worked
on AST documentation and improvements, prepared to port the AST
analysis from c2hs, and worked on the pretty printer's internals.
Generic tries. Jamie Brandon is working on a library for efficient maps
using generalized tries. Recently he has worked on implementing some
[36]bitpacking tools to save memory.
GHC API. Thomas Schilling (nominolo) is supposedly working on
[37]improvements to the GHC API. However, officials at HWN headquarters
have begun privately speculating that Thomas does not, in fact, exist.
Discussion
history of tuples vs pairs. Conal Elliott [38]asked about the history
of support for n-tuples in Haskell and ML.
hackageDB maintainer policy. Ross Paterson began a lengthy
[39]discussion towards agreeing on a policy for uploading packages to
Hackage, specifying whether the package is maintained and who is
maintaining it, and other related issues.
What is a rigid type variable?. Xiao-Yong Jin [40]asked what the 'rigid
type variables' are that are sometimes referred to in GHC error
messages. Read the thread for a concise discussion and the solution to
the original problem.
Map interface. Jamie Brandon started a [41]thread asking for feedback
on his proposed API for generic tries, and the discussion is still
ongoing.
Left and right folds. George Kangas [42]exhibited a pair of very
elegant alternate definitions for left and right fold, and showed how
this alternate viewpoint makes obvious several algebraic identities as
well as the generalization to [43]Data.Foldable. A must-read for the
aspiring functional programmer.
ribbonsPerLine. Alfonso Acosta asked an interesting [44]question about
"ribbonsPerLine" in the Text.PrettyPrint.HughesPJ library. Do you know
what it does? The answer can be found in the [45]original paper
describing the library.
Jobs
PhD position at University of Strathclyde, Glasgow. Simon Marlow
[46]announced, on behalf of Patricia Johann, an open PhD position in
operational and categorical approaches to parametricity. The funded
position is in the newly-formed Mathematically Structured Programming
group at the University of Strathclyde, comprising Neil Ghani, Patricia
Johann, and Conor McBride.
Quantitative Trading Developer Position at Hutchin Hill Capital. Neil
Mehra [47]announced an open position for a Quantitative Trading
Developer at Hutchin Hill Capital, a newly formed multi-strategy hedge
fund located in midtown Manhattan.
Blog noise
[48]Haskell news from the [49]blogosphere.
* >>> Blockcipher: [50]Converting Geospatial Coordinates. Blockcipher
has had enough of reading Haskell tutorials, and is itching to
actually create something useful!
* Roman Cheplyaka: [51]V-Clip algorithm (status update). An update on
Roman's Google Summer of Code project.
* Andy Gill: [52]Memo class using type families.
* >>> blueapple: [53]Project Euler. blueapple is hooked on
[54]Project Euler and has been using it as an opportunity to learn
Haskell.
* >>> Dinesh Pillay: [55]Haskell & Type Inference. Dinesh has been
learning Haskell for just a few days now and is really enjoying it.
In this post he shares a problem he was having with types and its
solution.
* Don Stewart (dons): [56]Daily Haskell: Download and analyse logs,
then generate sparklines. A new series on gluing Hackage libraries
together to get things done.
* Max Bolingbroke: [57]Compiler Plugins For GHC: Week Two. An update
on Max's Google Summer of Code project.
* Edward Kmett: [58]Paramorphism.
* Edward Kmett: [59]Catamorphism.
* Edward Kmett: [60]Recursion Schemes: A Field Guide. Edward is
writing up a 'field guide' to all those 'foomorphism' recursion
schemes.
* Neil Mitchell: [61]GSoC Hoogle: Week 4.
* Real World Haskell: [62]Ten new draft chapters.
* Jamie Brandon: [63]Bitpacking. Updates on Jamie's Google Summer of
Code project.
* Jamie Brandon: [64]Finally!.
* Brent Yorgey: [65]ZipEdit. Brent describes a new library for
creating simple interactive list editors.
* Real-World Haskell: [66]Video of my concurrent/multicore Haskell
talk is up.
* Roman Cheplyaka: [67]Status report: week 4. An update on Roman's
Google Summer of Code project.
* Osfameron: [68]More Countdown: laziness, Scheme, and German frogs.
* Andrea Vezzosi (Saizan): [69]a dependency analysis framework for
Cabal.
* Osfameron: [70]Schwartzian transform in Haskell.
* Neil Mitchell: [71]Hoogle 4 New Features.
* Thomas M. DuBuisson: [72]Past and Future libraries.
* >>> codeflow: [73]Haskell + a grain of Python. codeflow talks about
his experience learning Haskell and functional programming.
* >>> Peter Christensen: [74]Hey Language Snobs: Don't Pinch Pennies.
* >>> Micah Elliott: [75]1983-96: The Golden Age of Programming
Languages.
Quotes of the Week
* povman: when does ghc6.10 plan to release itself?
* Baughn: So I just rewrote a fairly complex text extraction/indexing
system to pipeline its work across several processors - painlessly,
in less than five minutes. Bravo, haskell!
* monochrom: We need to cabalise Cale.
* Botje: h0t (monoid `mappend` monoid) action?
* quicksilver: the only tool we have in haskell98 for performing an
action is the magic sigil 'main ='
* solrize: haskell has a very steep unlearning curve :)
* Botje: drug users pass around needles, haskell users pass around
Oleg papers
* qwe1234: i know haskell, ocaml, scheme and prolog better than you
ever will.
About the Haskell Weekly News
New editions are posted to [76]the Haskell mailing list as well as to
[77]the Haskell Sequence and [78]Planet Haskell. [79]RSS is also
available, and headlines appear on [80]haskell.org. Headlines are
available as [81]PDF.
To help create new editions of this newsletter, please see the
information on [82]how to contribute. Send stories to byorgey at seas
dot upenn dot edu. The darcs repository is available at darcs get
[83]http://code.haskell.org/~byorgey/code/hwn/ .
References
1. http://haskell.org/
2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41760
3. http://www.haskell.org/pipermail/haskell-cafe/2008-June/044696.html
4. http://rippledeals.com:5001/
5. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happs-tutorial
6. http://www.haskell.org/pipermail/haskell-cafe/2008-June/044671.html
7. http://biosimilarity.blogspot.com/2008/06/algebra-of-graphs-individually-and.html
8. http://article.gmane.org/gmane.comp.lang.haskell.general/16263
9. https://www.softconf.com/s08/icfp08-posters/submit.html
10. http://www.haskell.org/pipermail/haskell-cafe/2008-June/044630.html
11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/type-level
12. http://article.gmane.org/gmane.comp.lang.haskell.general/16260
13. http://socalfp.blogspot.com/
14. http://www.realworldhaskell.org/blog/2008/06/22/ten-new-draft-chapters/
15. http://www.realworldhaskell.org/blog/
16. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Pugs-6.2.13.2
17. http://pugscode.org/
18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41621
19. http://furius.ca/pubcode/pub/conf/common/bin/rst-literals.html
20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41619
21. http://iki.fi/matti.niemenmaa/pipe/
22. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/14661
23. http://richardg.name/
24. http://article.gmane.org/gmane.comp.lang.haskell.general/16252
25. http://code.google.com/p/hback/
26. http://www.pnas.org/cgi/content/abstract/0801268105v1
27. http://www.haskell.org/gtk2hs/
28. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008
29. http://neilmitchell.blogspot.com/2008/06/hoogle-4-new-features.html
30. http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell
31. http://physics-dph.blogspot.com/2008/06/status-report-week-4.html
32. http://physics-dph.blogspot.com/2008/06/v-clip-algorithm-status-update.html
33. http://blog.omega-prime.co.uk/2008/06/23/compiler-plugins-for-ghc-week-two/
34. http://www.haskell.org/haskellwiki/Template_Haskell
35. http://vezzosi.blogspot.com/2008/06/my-summer-of-code-project-dependency.html
36. http://jamiiecb.blogspot.com/2008/06/gsoc-week-1.html
37. http://hackage.haskell.org/trac/ghc/wiki/GhcApiStatus
38. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41749
39. http://article.gmane.org/gmane.comp.lang.haskell.libraries/9334
40. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41651
41. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/9259
42. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41607
43. http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Foldable.html
44. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/41506
45. http://www.cs.chalmers.se/~rjmh/Papers/pretty.ps
46. http://article.gmane.org/gmane.comp.lang.haskell.general/16253
47. http://article.gmane.org/gmane.comp.lang.haskell.cafe/41584
48. http://planet.haskell.org/
49. http://haskell.org/haskellwiki/Blog_articles
50. http://idea-guy.blogspot.com/2008/06/converting-geosptial-coordinates.html
51. http://physics-dph.blogspot.com/2008/06/v-clip-algorithm-status-update.html
52. http://blog.unsafeperformio.com/?p=30
53. http://blueappledev.wordpress.com/2008/06/24/project-euler/
54. http://projecteuler.net/
55. http://dpillay.blogspot.com/2008/06/haskell-type-inference.html
56. http://www.cse.unsw.edu.au/~dons/blog/2008/06/24#daily-haskell-one
57. http://blog.omega-prime.co.uk/2008/06/23/compiler-plugins-for-ghc-week-two/
58. http://comonad.com/reader/2008/paramorphism/
59. http://comonad.com/reader/2008/catamorphism/
60. http://comonad.com/reader/2008/recursion-schemes/
61. http://neilmitchell.blogspot.com/2008/06/gsoc-hoogle-week-4.html
62. http://www.realworldhaskell.org/blog/2008/06/22/ten-new-draft-chapters/
63. http://jamiiecb.blogspot.com/2008/06/bitpacking.html
64. http://jamiiecb.blogspot.com/2008/06/finally.html
65. http://byorgey.wordpress.com/2008/06/21/zipedit/
66. http://www.realworldhaskell.org/blog/2008/06/20/video-of-my-concurrentmulticore-haskell-talk-is-up/
67. http://physics-dph.blogspot.com/2008/06/status-report-week-4.html
68. http://osfameron.vox.com/library/post/more-countdown-laziness-scheme-and-german-frogs.html?_c=feed-atom
69. http://vezzosi.blogspot.com/2008/06/my-summer-of-code-project-dependency.html
70. http://osfameron.vox.com/library/post/schwartzian-transform-in-haskell.html?_c=feed-atom
71. http://neilmitchell.blogspot.com/2008/06/hoogle-4-new-features.html
72. http://tommd.wordpress.com/2008/06/18/past-and-future-libraries/
73. http://codeflow.wordpress.com/2008/06/18/haskell-a-grain-of-python/
74. http://www.pchristensen.com/blog/articles/hey-language-snobs-dont-pinch-pennies/
75. http://micahelliott.blogspot.com/2008/06/1983-96-golden-age-of-programming.html
76. http://www.haskell.org/mailman/listinfo/haskell
77. http://sequence.complete.org/
78. http://planet.haskell.org/
79. http://sequence.complete.org/node/feed
80. http://haskell.org/
81. http://code.haskell.org/~byorgey/code/hwn/archives/20080625.pdf
82. http://haskell.org/haskellwiki/HWN
83. http://code.haskell.org/~byorgey/code/hwn/