[Haskell] Haskell Weekly News: Issue 128 - August 26, 2009
byorgey at seas.upenn.edu
Wed Aug 26 18:56:56 EDT 2009
Haskell Weekly News
Issue 128 - August 26, 2009
Welcome to issue 128 of HWN, a newsletter covering developments in the
New releases of haddock, gitit, jhc, formlets, and lots of other
libraries and tools; Edinburgh Hack Day, ICFP, and HacPDX coming up;
exciting times! The Google Summer of Code has also wrapped up. See
below for final progress reports from this summer's Haskell
PS: Just as this was going to press, Thomas Ten Cate released the
Scion library from his Google Summer of Code project; hence it
isn't listed below but you should check it out anyway!
GLUT 184.108.40.206. Sven Panne announced a new version of the GLUT
package. The package is now autoconf-free, with API entries are
resolved dynamically at runtime; support for sRGB framebuffers has been
added; and support for context profiles has been added.
Potential Network SIG. Thomas DuBuisson announced the formation of a
SIG to hammer out a design for a new Network API, seeing as the current
API, a straight-forward Berkeley binding, doesn't seem to please anyone
in a Haskell context.
epoll bindings 0.1.1. Toralf Wittner announced the release of
epoll bindings 0.1.1. Epoll is an I/O event notification facility
for Linux similar to poll but with good scaling characteristics.
Currently the bindings are fairly low level and close to the C API, but
there are plans to add some buffer or stream abstraction on top.
Eventually, when GHC can make use of epoll/kqueue in addition to
select, this library will not be needed anymore. Until then it might be
useful for applications which monitor large numbers of file
gitit 0.6.1. John MacFarlane announced the release of gitit
0.6.1, a wiki program that runs on happstack, the Haskell web
application server stack, and stores pages and other content in a git
or darcs filestore. The whole code base has been overhauled since the
last release: gitit is now faster, more memory efficient, more modular,
and more secure. It also has many new features, including page metadata
and categories, atom feeds (sitewide and per-page), support for
literate Haskell, a better configuration system, an improved caching
system, a Haskell library exporting happstack wiki handlers, and a
jhc 0.7.1. John Meacham announced the 0.7.1 release of the jhc
optimizing Haskell compiler. There have been a lot of changes since the
last public release. Some notable ones include the use of a general
compiler cache by default rather than object files; reworked library
support; an updated manual, with clearer build instructions; support
for writing pure C libraries in Haskell; numerous library updates;
smart progress meters; typechecking before compilation; and various bug
fixes and cross compilation improvements.
rss2irc 0.3 released. Simon Michael announced the release of
rss2irc version 0.3, an irc bot created by Don Stewart to watch rss
feeds and announce new items on irc, now maintained by Simon. This
version includes reliable http networking, irc flood protection, better
error handling & reporting, extensive debugging output, Atom support,
more useful defaults, precise control of irc output, and is now
installable on OSX. Feedback and patches welcome.
formlets 0.6. Chris Eidhof announced that the formlets team has
released a new version of formlets, a library to build type-safe,
composable web forms. Most notably, Mightybyte and Chris worked on the
massInput functionality, which is now ready for use!
graphtype -- A simple tool to illustrate dependencies between Haskell
types. Max Desyatov announced the release of graphtype, a tool
for visualising type declarations in Haskell source files. It produces
.dot-files for subsequent processing with graphviz.
OAuth library in haskell. Diego Souza announced the release of
hoauth, a library which helps you to deal with the oauth
protocol. Currently it supports only consumer side applications, but
there are plans to add service providers support in near future.
ByteString Nums. Jason Dusek announced bytestring-nums, a
simple package for relatively careless parsing of numbers from
ByteStrings. It works to parse out integer strings, floating point
strings and hex strings.
haskell-src-exts-1.1.3. Niklas Broberg announced the release of
haskell-src-exts-1.1.3, a package for Haskell source code
manipulation. It handles (almost) all syntactic extensions to the
Haskell 98 standard implemented by GHC, and the parsing can be
parametrised on what extensions to recognise. haskell-src-exts-1.1.3 is
a highly experimental release, which does not change the current stable
part of haskell-src-exts. But it includes a whole new set of modules
implementing a new and more accurate syntax tree where all nodes are
adorned with annotations. Together with this comes a parser that
retains exact source information, stored in the aforementioned
annotations. Help in testing and bug reporting is welcome and
ministg-0.2, an interpreter for STG operational semantics. Bernie Pope
announced the first public release of Ministg, an interpreter
for a high-level, small-step, operational semantics for the STG
machine, the abstract machine at the core of GHC. One of the main
features of Ministg is the ability to record a trace of the execution
steps as a sequence of HTML files; here is an example trace.
OpenCLRaw 1.0.1000. Jeff Heard announced the release of
OpenCLRaw, a raw binding to the OpenCL, a platform for single-host
heterogeneous, data-parallel computing. He has future plans to create
higher-level bindings on top of these raw ones.
compose-trans-0.0. Miguel Mitrofanov announced compose-trans, a
small library intended to make monad transformers composable.
Haddock version 2.5.0. David Waern announced the release of
Haddock 2.5.0. This version reverts to the old multi-page index for
large packages, shows GADT records in the generated documentation, adds
a --use-unicode flag for displaying prettier versions of common
symbols, and many other changes.
Edinburgh Meetup (Sat 29 Aug) and Hack Day (Sun 30 Aug). Eric Kow
sent a reminder that we will be having a Hack Day in Edinburgh
on Sunday 30 August at the ICFP venue. There will also be a meetup the
day before, 09:30 Saturday 29 August just outside the ICFP venue; we'll
have a quick wander and hopefully find some nice places to sit and
chat, whip out the occasional laptop and fling a lambda or not being
careful not to injure the passers-by.
Cleaner networking API - network-fancy. Taru Karttunen announced
network-fancy, which offers a cleaner API to networking facilities
in Haskell. It supports high-level operations on tcp, udp and unix
sockets. Feedback on the API is welcome!
GLFW-0.4.1. Paul L announced a new version of GLFW, 0.4.1.
Notable changes include a workaround for a FFI bug that affects GHC <
6.10 on 64-bit machines, a fix for the compilation problem on OS X for
GHC > 6.10.1, a compatibility fix to work with both OpenGL 220.127.116.11 and
older versions, choice of a "dynamic" flag to link with dynamic GLFW C
library instead, and a number of other fixes, cleanups and
HacPDX, A Hackathon in Portland. Thomas DuBuisson announced
HacPDX, an opportunity for Portland Haskell hackers to join
together in building and improving libraries and tools. If you've never
been, hackathons are typically not only a good opportunity for
experienced devs to work together but also a great way for newcomers to
get involved in the community. HacPDX will take place Friday September
25 to Sunday September 27 at Portland State University; see the email
for more specific details.
Hack on the Delve core, with Delve and Haskell. spoon announced
Delve, a new programming language intended to bring the benefits of
static type checking and functional programming to object-oriented
design and development, currently being implemented in Haskell.
cabal-query 0.1. Max Desyatov announced the release of
cabal-query, a package to assist in finding a set of Cabal packages
which satisfy your needs.
EnumMap-0.0.1. John Van Enk announced the first version of
EnumMap, a generalization of IntMap that constrains the key to Enum
rather than forcing it to be Int.
Google Summer of Code
Progress updates from participants in the 2008 Google Summer of
Haddock improvements! Isaac Dupree has wrapped up his project, with
patches waiting to be merged back into both Haddock and GHC. His final
post contains a detailed description of the work he did; looks like
we'll have much better cross-package documentation support in Haddock
EclipseFP. Thomas Ten Cate began adding a notion of build targets
to EclipseFP, so that projects can be created without .cabal files. He
has wrapped up the project for now, and although he isn't fully
happy with the results that he achieved, he was able to make useful
contributions which hopefully others can continue to build on.
Improving the Haskell space profiling experience. Gergely Patai's
project is done: he uploaded hp2any, a set of realtime space
profiling tools, to Hackage. He also created a haskellwiki page
describing it and its use.
haskell-src-exts -> haskell-src. Niklas Broberg has been working on
a complete revamp of the AST, lexer and parser to allow for exact
source info to be kept in the tree, which in turn will allow exact
printing of the code as it was read.
darcs. Petr Rockai posted a final report where he described his
accomplishments: the hashed-storage library for reading and writing
filesystem trees in hash-based formats; darcs whatsnew integration with
hashed-storage; progress on a new and improved version of
hashed-storage, and a branch of darcs depending on it; and
darcs-benchmark, a standalone package for benchmarking darcs.
Unification and matching in Abelian groups. John D. Ramsdell shared
some code implementing unification and matching in Abelian groups.
Grouping and SIMD in parallel Haskell (using Nested Data Parallel
Haskell ideas in legacy code). Zefirov Sergey posted some code
showing how to translate Parallel Haskell programs (expressed with par
and pseq) into Nested Data Parallel Haskell.
Request for Comments - hscurrency 0.0.1. Max Cantor requested
feedback on some simple tools to do safe calculations on different
DDC compiler and effects; better than Haskell? (was Re:
unsafeDestructiveAssign?). Peter Verswyvelen began a long
discussion about the DDC compiler and its effect system, and the
relationship to Haskell and monads.
Credit Suisse is hiring. Ganesh Sittampalam announced that the
Global Modelling and Analytics Group (GMAG) at Credit Suisse is once
again looking to hire functional programmers; see his email for more
Jane Street is Hiring (as if you didn't already know). Yaron Minsky
sent out a reminder that Jane Street is looking to hire
functional programmers; see his email for more details. He also
mentioned that he will be at parts of ICFP, CUFP and DEFUN this year,
so if you're interested, come and talk to him there.
Galois is Hiring. Don Stewart announced that Galois is continuing
to hire, with multiple positions for talented functional programmers
(with both junior and senior positions). They will be at ICFP and
related events; see Don or Lee Pike.
Haskell news from the blogosphere. Blog posts from people new
to the Haskell community are marked with >>>, be sure to welcome them!
* Isaac Dupree: Summer of Code Wrap-Up..
* Thomas ten Cate: Endgame.
* Jeff Heard: Followup to my earlier post on Hilbert curve
* Jeff Heard: Plotting timeseries in space filling curves.
* Magnus Therning: Making a choice from a list in Haskell, Vty
(part 5, the last one).
* Magnus Therning: Fork/exec in Haskell.
* Edward Kmett: Iteratees, Parsec and Monoids (Slides).
* Chris Smith: Flow Equivalence Code in Haskell.
* Thomas Ten Cate: Build targets.
* Chris Smith: Catching a Mathematical Error Using Haskell's Type
* Well-Typed: Industrial Haskell Group meeting at CUFP.
* London HUG: Next meeting: Alex McLean, Live coding music with
* David Amos: Finite fields, part 1.
* Greg Bacon: Simple analogy for lazy evaluation .
* Magnus Therning: JSON in Haskell.
* Notes on the LHC: Status update: New Integer implementation..
* Edward Kmett: Clearer Reflections.
* Petr Rockai: soc final report.
* Gergely Patai: hp2any overview online.
* Brent Yorgey: New 2D text layout library.
* Manuel Chakravarty: World's first formal machine-checked proof
of a general-purpose operating system kernel..
* Bryan O'Sullivan: Haskell Platform support for Fedora: we're
* Gergely Patai: hp2any on Hackage.
* Doug Beardsley: Dynamic List Formlets in Haskell .
* Niklas Broberg: Quick update.
* Christopher Lane Hinson: FactoryArrow.
* Michael Feathers: Imposing the Edges Later .
* Brent Yorgey: Species operations: differentiation.
* >>> Ron Leisti: A prime number sieve in Haskell.
Quotes of the Week
* bos: You don't get accurate answers from Perl. It just lies to you
to keep you happy.
* ray: haskell' will come out in 2020 and be h98 with hierarchical
* ray: enlarge your kleisli arrow, please the category ladies
* quicksilver: making the compiler writer's job painful is one of the
main duties of a language designer.
* gwern: as a plugin, yes, but that's like being so out of shape that
a guy in a wheelchair can outrace you - yes, he needs a tool, but
you should still be ashamed of yourself
* Cale's Lemma: Any sufficiently long string of operator symbols
looks like a fish.
* randomwords: How "complete" does an application before it's OK to
upload to hackage? <ray> there are no standards <randomwords>
lawless wasteland. Got it.
* ndm: I was browsing through the Yhc standard libraries, as one does
on the weekend, and was drawn to Yhc's sort function.
* michaelfeathers: I did a parody post to Haskell Cafe last year
where I had some code that was calling (nub . nub) zip12 and asked
if there was a zip13 and no one called it out as a joke.
About the Haskell Weekly News
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.
To help create new editions of this newsletter, please see the
information on how to contribute. Send stories to byorgey at cis
dot upenn dot edu. The darcs repository is available at darcs get
More information about the Haskell