Haskell Weekly News: June 25, 2008
Welcome to issue 74 of HWN, a newsletter covering developments in the 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!
Andrew Wagner (chessguy) recently flew out to Microsoft for an interview with their Live Search team. In an email to the cafe, he shares some stories from his experience and some interesting coding challenges.
NWFP Interest Group. Greg Meredith 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 compositional representation of graphs he's been tinkering with recently.
type-level and parameterized-data packages. Alfonso Acosta announced the release of the 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 announced the creation of 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 announced the availability of ten new draft chapters of 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!
Google Summer of Code
Progress updates from participants in the 2008 Google Summer of Code.
Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4, and recently added two new features, multi-word search and intelligent suggestions.
DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. 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 a better solution.
GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. This week he worked on adding arbitrary user-specified phases to GHC, implementing a control system, pipeline generation, and 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 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 bitpacking tools to save memory.
GHC API. Thomas Schilling (nominolo) is supposedly working on improvements to the GHC API. However, officials at HWN headquarters have begun privately speculating that Thomas does not, in fact, exist.
history of tuples vs pairs. Conal Elliott asked about the history of support for n-tuples in Haskell and ML.
hackageDB maintainer policy. Ross Paterson began a lengthy 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 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 thread asking for feedback on his proposed API for generic tries, and the discussion is still ongoing.
Left and right folds. George Kangas 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 Data.Foldable. A must-read for the aspiring functional programmer.
ribbonsPerLine. Alfonso Acosta asked an interesting question about "ribbonsPerLine" in the Text.PrettyPrint.HughesPJ library. Do you know what it does? The answer can be found in the original paper describing the library.
PhD position at University of Strathclyde, Glasgow. Simon Marlow 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 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 noiseHaskell news from the blogosphere.
>>> Blockcipher: Converting Geospatial Coordinates. Blockcipher has had enough of reading Haskell tutorials, and is itching to actually create something useful!
Roman Cheplyaka: V-Clip algorithm (status update). An update on Roman's Google Summer of Code project.
Andy Gill: Memo class using type families.
>>> Dinesh Pillay: 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): Daily Haskell: Download and analyse logs, then generate sparklines. A new series on gluing Hackage libraries together to get things done.
Max Bolingbroke: Compiler Plugins For GHC: Week Two. An update on Max's Google Summer of Code project.
Edward Kmett: Paramorphism.
Edward Kmett: Catamorphism.
Edward Kmett: Recursion Schemes: A Field Guide. Edward is writing up a 'field guide' to all those 'foomorphism' recursion schemes.
Neil Mitchell: GSoC Hoogle: Week 4.
Real World Haskell: Ten new draft chapters.
Jamie Brandon: Bitpacking. Updates on Jamie's Google Summer of Code project.
Jamie Brandon: Finally!.
Brent Yorgey: ZipEdit. Brent describes a new library for creating simple interactive list editors.
Real-World Haskell: Video of my concurrent/multicore Haskell talk is up.
Roman Cheplyaka: Status report: week 4. An update on Roman's Google Summer of Code project.
Andrea Vezzosi (Saizan): a dependency analysis framework for Cabal.
Osfameron: Schwartzian transform in Haskell.
Neil Mitchell: Hoogle 4 New Features.
Thomas M. DuBuisson: Past and Future libraries.
>>> codeflow: Haskell + a grain of Python. codeflow talks about his experience learning Haskell and functional programming.
>>> Peter Christensen: Hey Language Snobs: Don't Pinch Pennies.
>>> Micah Elliott: 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
To help create new editions of this newsletter, please
see the information on how
to contribute. Send stories to
byorgey at seas dot upenn
dot edu. The darcs repository is available at
darcs get http://code.haskell.org/~byorgey/code/hwn/