[Haskell] Haskell Weekly News: Issue 93 - November 15, 2008
byorgey at seas.upenn.edu
Sat Nov 15 15:55:52 EST 2008
Haskell Weekly News
Issue 93 - November 15, 2008
Welcome to issue 93 of HWN, a newsletter covering developments in the
Congratulations to Ganesh (aka Heffalump) and Amanda on the birth of
Alexander Suresh Kerr Sittampalam!
bustle-0.1. Will Thompson announced the release of Bustle, a
tool to show diagrams of D-Bus traffic for profiling purposes. It
consists of a small C executable to log traffic, and a Gtk+ application
which draws diagrams using Cairo.
haskell-src-exts 0.4.1. Niklas Broberg announced a new major release
of the haskell-src-exts package, an extension of the standard
haskell-src package which handles most common syntactic extensions to
Haskell. The new release features a cleaned up AST and names without
ugly disambiguation prefixes.
darcs 2.1.1rc2. Eric Kow (kowey) announced the release of darcs
2.1.1rc2, which adds support for GHC 6.10.1. It also includes a Windows
bug fix. If you're using GHC 6.10.1 or Windows, give it a try and let
the darcs development team know how it works.
hpapi 0.1 release. Michael D. Adams announced the first release of
hpapi, Performance API (PAPI) bindings for Haskell. PAPI provides
access to various CPU counters such as cache-miss, instruction and
pipeline stall counts.
Workflow-0.1. Alberto G. Corona announced the release of
Workflow, a library for transparent execution of computations
across shutdowns and restarts.
Reactive library (FRP) and mailing list. Conal Elliott announced
the release of Reactive, a library for functional reactive
programming (FRP), similar to the original Fran but with a more
modern interface (using standard type classes) and a hybrid push/pull
implementation. It is designed to be used in a variety of contexts,
such as interactive 2D and 3D graphics, graphical user interfaces, web
services, and automatic recompilation/re-execution. There is also now a
mailing list and a feature/bug tracker.
ANN (sorta): OpenGL with extra type safety. Neal Alexander
announced a modification of the hOpenGL (and GLFW) source tree to
force extra type checking on its various IO actions using the
-XGeneralizedNewtypeDeriving extension. The main motivation was for
writing concurrent OpenGL applications; the second motivation was to
enforce static type checking on commands that can only be executed in
certain OpenGL contexts (sending vertex data for example). Hopefully
the code will be uploaded to Hackage as a separate package soon.
FieldTrip library (functional 3D) and mailing list. Conal Elliott
announced the release of FieldTrip, a library for functional 3D
graphics. It is intended for building static, animated, and interactive
3D geometry, efficient enough for real-time synthesis and display.
FieldTrip also has a mailing list and a feature/bug tracker.
gitit 0.2 release - wiki using HAppS, git, pandoc. John MacFarlane
announced the upload of an early version of gitit, a Haskell
wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for
file storage, pandoc for rendering the (markdown) pages, and
highlighting-kate for highlighted source code. You can try it out
here. Comments and patches welcome.
Proof that Haskell is RT. Andrew Birkett asked whether there exists
a formal proof that the Haskell language is referentially transparent.
Such a thing cannot exist, since Haskell has no formally defined
semantics, but an interesting discussion about referential transparency
and semantics ensued anyway.
What *not* to use Haskell for. Dave Tapley asked how people answer
the question, "what does Haskell not do well?" Unfortunately, it seems
that there is no good answer to this question and the thread
degenerated into a discussion of all the great things you can do with
Haskell. If only Haskell sucked more.
Haskell news from the blogosphere.
* Braden Shepherdson: Pimp Your XMonad #2: SmartBorders. The
second in Braden's series on customising xmonad explains how to use
the NoBorders extension to get rid of window borders when you don't
* Real-World Haskell: Real World Haskell Electronic Edition Now
* Conal Elliott: More beautiful fold zipping.
* >>> Stephen: Endless Cavern. A procedurally-generated
tessellated-cavern flying game.
* Twan van Laarhoven: Arrays without bounds. Unbounded arrays
(with O(1) amortized access) in Haskell!
* "The GHC Team": Comparing concurrent linked-list
implementations in Haskell.
* Ketil Malde: 454 sequencing and parsing the SFF binary format.
* Tom Schrijvers: Type Invariants for Haskell. Tom, Louis-Julien
Guillemette, and Stefan Monnier's paper on Type Invariants for
Haskell, which was recently accepted at PLPV'09.
* Conal Elliott: Another lovely example of type class morphisms.
Conal elaborates on Max Rabkin's recent post on composable folds.
* Real-World Haskell: Beautiful Parallelism: Harnessing
Multicores with Haskell. Don Stewart will be talking about
programming mainstream multicore systems with Haskell at SC'08 next
week in Austin, Texas.
* Luke Palmer: Sketch of Udon (Version Control/Packaging system).
Luke sketches a high-level design for a distributed storage system
that could be used as the basis for solving a number of interesting
* Galois, Inc: Galois awarded NASA research contract.
* Mark Jason Dominus: Representing ordinal numbers in the
computer and elsewhere.
* The GHC Team: Bootstrapping cabal-install.
* Jason Dagit: Phantom Types, Existentials and Controlling
Unification -- Part 1.
* Ben Moseley: Why does Functional Programming matter?.
Quotes of the Week
* BMeph: In a functional world, students would ask how that index
shadowing works in those funny 'for' statements...
* digit: i'm almost annoyed at how brilliant xmonad is.
* _pizza_: i think Haskell is undoubtedly the world's best
programming language for discovering the first few dozen numbers in
the Fibonacci sequence over IRC.
* adu: let uncat3  =  ; uncat3 xs = (let (ys, zs) = splitAt 3 xs
in ys : uncat3 zs) ; getFrom x y = map (x !!) $ map (fromIntegral .
((\x -> fromIntegral $ foldl (.|.) (0::Word8) (zipWith (\c n -> if
c then bit n else (0::Word8)) x [0..2])) :: [Bool] -> Int)) $
reverse . uncat3 . reverse . concat . map (((\x -> map (testBit x)
[7,6..0]) :: Word8 -> [Bool]) . fromIntegral . ord) $ y in getFrom
" HWdelor" "e\184-\235"
* Beelsebob: ((:) "pigs eat") <^(++)^> ((:) " robot monkies")
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