Welcome to issue 78 of HWN, a newsletter covering developments in the Haskell community.
Issue 78: In Which Michi and Neil Become Doctors, Sun Donates Some Sweet Loot, and Jules Is Revealed To Be A Helpful Anthropomorphic Robot
Congratulations are in order this week to two members of the community who have completed PhDs. Neil Mitchell (ndm) passed his PhD viva last week, subject to minor corrections. Mikael Johansson (Syzygy-) has also completed his PhD and will soon be starting a postdoc at Stanford with the topology in computer science working group. Congratulations, Drs. Mitchell and Johansson!
rosezipper. Eric Kow (kowey) announced the release of rosezipper, Krasimir Angelov and Iavor S. Diatchki's Data.Tree implementation of zippers.
list-extras 0.1.0. wren ng thornton (koninkje) announced the initial release of list-extras, a home for common not-so-common list functions.
Sun Microsystems and Haskell.org joint project on OpenSPARC. Duncan Coutts (dcoutts) announced a joint project between Sun Microsystems and the Haskell.org community to exploit the high performance capabilities of Sun's latest multi-core OpenSPARC systems via Haskell! Sun has donated a powerful 8 core SPARC Enterprise T5120 Server to the Haskell community, and $10,000 to fund a student to further develop support for high performance Haskell on the SPARC. The student will work with a mentor from Haskell.org and an adviser from Sun's SPARC compiler team. If you're a student and this sounds interesting to you, send in those applications!!
Hayoo! beta 0.2. Timo B. announced the second beta release of Hayoo!, a Haskell API search engine providing advanced features like suggestions, find-as-you-type, fuzzy queries and much more. The major change in this release is the inclusion of all packages available on Hackage in the index.
Haskell-beginners mailing list. Benjamin L. Russell announced the creation of the Haskell-Beginners Mailing List, beginners at haskell.org, devoted to discussion of primarily beginner-level topics related to Haskell. It's already off to a great start, so if you're a Haskell beginner, or someone interested in answering beginner questions, please subscribe!
Haskeline 0.2. Judah Jacobson announced the initial (alpha-ish) release of Haskeline, a library for line input in command-line programs. It is similar in purpose to editline or readline, but is written in Haskell and thus (hopefully) more easily used in other Haskell programs.
Progress updates from participants in the 2008 Google Summer of Code.
Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he ran QuickCheck on his test suite for the first time, and found a large number of failing tests! He's got his work cut out for him straightening those out over the next few days.
DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. This week, he implemented full handling of rigid body collisions, including angular velocity. Next he plans to explore various ways to make the engine faster, including broad-phase collision detection.
GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. This week, he revealed his "mystery project": an HTML pretty-printer for GHC core! Here is a sample. Now his focus turns to tidying things up and solidifying documentation in preparation for getting his patches merged into GHC HEAD.
Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he fleshed out the final part of type search, including support for instances and alpha renaming of variables. Unfortunately, it uses too much memory to be feasibly run on the base libraries! Neil has some ideas on how to fix this, however, which he plans to tackle next week.
Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. He has finally completed a working implementation for analysing declarations and definitions, and presents a working example of the library's use.
Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.
GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.
generalize mapAccumL/R. Ross Paterson proposed adding generalized versions of mapAccumL and mapAccumR to Data.Traversable.
signal-handling API. Simon Marlow proposed a new signal-handling API.
Point-free style in guards. L29Ah asked a question about using a points-free style in guard expressions, leading to a number of clever suggestions involving custom combinators.
Optimizing sequence. Gracjan Polak started a discussion on the strictness properties of the sequence function, and its implications for optimization. It sounds as though adding an alternate strict version of sequence to the libraries could be a good idea.
Eric Kow (kowey): rose zipper on hackage. Eric has uploaded an implementation of a zipper for Data.Tree to hackage.
Jamie Brandon: QuickCheck strikes again. An update on Jamie's Google Summer of Code project. Lots of failing QuickCheck tests mean Jamie has his work cut out for him.
>>> Ayumilove: Haskell Programming Tutorial Part 1. A video introduction to Haskell?
Roman Cheplyaka (Feuerbach): Status report: week 7-8. An update on Roman's Google Summer of Code project.
Conal Elliott (conal): Designing for the future.
Benedikt Huber (visq): Language.C: Analysing Definitions. An update on Benedikt's Google Summer of Code project.
Max Bolingbroke: Compiler Plugins For GHC: Week Six. An update on Max's Google Summer of Code project.
Neil Mitchell (ndm): GSoC Hoogle: Week 8. An update on Neil's Google Summer of Code project.
Matthew Sackman: What is the point?. Matthew had his submission rejected from the Haskell Symposium, and isn't happy about it.
Tupil: Stemming with Haskell reloaded. An updated, more functional/Haskellish interface to the stemmer library.
Luke Palmer (luqui): Semantic Design. Luke's reflections on a design approach learned from Conal Elliott.
Muad`Dib (vixey): Rascal - Mini-haskell like language.
Jeremy Shaw: HTML Templating in HAppS using HSP. Jeremy writes a very cool introduction/tutorial to using HSP (Haskell Server Pages) with HAppS.
>>> Duane Johnson: Lazy Evaluation at Work. Duane likes the idea of lazy file I/O.
>>> Duane Johnson: A Glimmer of Monadic Hope. Duane figures out do-notation.
>>> Duane Johnson: Using 'foldr' in Haskell. Duane figures out how to define (++) and concat in terms of foldr.
Mikael Johansson (Syzygy-): Dr rer nat, Magna cum laude.
>>> Holden Karau: Integrating your HUnit (or other) tests into your cabal package.
Real-World Haskell: Beta availability hiccups.
>>> Antoine Hersen: ICFP 2008 Postmortem.
Edward Kmett (edwardk): A Sort of Difference. Edward uses an analysis of quicksort in Haskell as a jumping-off point for an introduction to difference lists.
Ralf Lammel: The Expression Lemma -- Explained. Ralf explains the relationship between OOP and FP.
>>> Greg McClure: Learning languages through problem-solving. Greg extols the virtues of Project Euler for learning new languages, and exhibits a solution to the first problem in Haskell, Erlang, and Python.
New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.
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/