[Haskell] Haskell Weekly News: Issue 123 - June 29, 2009
Brent Yorgey
byorgey at seas.upenn.edu
Mon Jun 29 16:06:07 EDT 2009
---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20090629
Issue 123 - June 29, 2009
---------------------------------------------------------------------------
Welcome to issue 123 of HWN, a newsletter covering developments in the
[1]Haskell community.
A bit late this week since over the weekend I was trying to get some
unruly satellites to behave (with moderate success). Anyway, some fun
stuff this week: Haskell on the iPhone; new libraries for 3D animation,
web development, session types; new releases of haskell-src-exts and
darcs; and more. Also, if it seems that there haven't been many quotes
lately, it's because people haven't been @remembering very many in
#haskell. I cannot telepathically sense (via the Haskell-force,
hereafter known as the "Horce") when someone says something funny.
Announcements
Haskell Symposium call for participation. Stephanie Weirich
[2]announced that [3]registration is now open for the [4]ACM SIGPLAN
Haskell Symposium 2009, to be held on 3 September 2009 in Edinburgh,
Scotland (co-located with ICFP). The purpose of the Haskell Symposium
is to discuss experiences with Haskell and future developments for the
language. The scope of the symposium includes all aspects of the
design, semantics, theory, application, implementation, and teaching of
Haskell.
jhc 0.6.1. John Meacham [5]announced the release of [6]jhc 0.6.1,
featuring a a much simplified cross-compilation mechanism.
X Haskell Bindings 0.3. Antoine Latter [7]announced the 0.3.* series
release of the [8]X Haskell Bindings. This release, like the prior
0.2.* series focuses on making the API prettier.
happstack-0.3.2. Matthew Elder [9]announced the release of
[10]happstack-0.3.2, with many changes, updates, and bug fixes.
sendfile-0.1. Matthew Elder [11]announced the release of [12]sendfile,
a library which exposes zero-copy sendfile functionality in a portable
way. Right now it natively supports linux 2.6+ (maybe older too) and
windows 2000+; on other platforms it will fall back seamlessly to a
portable haskell implementation.
Reusable Corecursive Queues via Continuations. Leon Smith [13]requested
feedback on a draft of an upcoming article in Monad.Reader issue 14,
"Lloyd Allison's Corecursive Queues: Why Continuations Matter",
describing the implementation of the [14]control-monad-queue package.
Haskell on the iPhone. Ryan Trinkle [15]announced that his company,
iPwn Studios Inc., is currently preparing to release an open source
patch to GHC that allows it to output binaries for iPhone OS. The patch
will be released under a BSD license as soon as possible and hopefully
integrated into the GHC main-line in the near future.
Program to set the GNOME desktop background picture randomly. Colin
Paul Adams [16]announced [17]gnome-desktop, a library which
periodically picks a random picture from $HOME/Pictures, and sets it as
the GNOME desktop background.
loli: a minimal web dev DSL. Jinjing Wang [18]announced the release of
[19]loli, a web development DSL built on top of [20]hack. It allows you
to easily define routes, build your custom template backends through a
simple Template interface, and integrate with other hack middleware.
Cal3D animation library. Gregory D. Weber [21]announced the [22]Cal3D
for Haskell project, which provides a partial binding to the [23]C++
Cal3D animation library, a platform- and graphics-API-independent C++
library for skeletal-based character animation. There are three
packages available on hackage: [24]cal3d-0.1, a Haskell binding to the
Cal3D library itself; as well as [25]cal3d-opengl-0.1 and
[26]cal3d-examples-0.1.
A Reader Monad Tutorial. Henry Laxen [27]announced a nice [28]Reader
monad tutorial.
full-sessions: yet another implementation of session types. Keigo Imai
[29]announced the pre-release of [30]full-sessions, yet another
implementation of session types in Haskell. Session types are used to
statically check the safe and consistent use of communication channels
according to protocols. A notable advantage of [31]this implementation
is that it requires almost no type annotation or term annotations. and
at the same time provides full functionality of session types including
channel-generation and channel-passing.
darcs 2.3 beta 1. Petr Rockai [32]announced the immediate availability
of a first beta release of darcs 2.3. There are a number of
improvements and bugfixes over the last stable release, 2.2 (see the
announcement for a full list). Moreover, work has been done on
performance of "darcs whatsnew" for large repositories. This has also
introduced a slight risk of regressions, but please note that all of
the disruptive changes are in read-only code paths: the new code will
never touch your repository, so it is unable to cause permanent harm.
The worst that could happen is that you get no or bad diff from "darcs
whatsnew". Please help test it (cabal install [33]darcs-beta)!
New release of ZeroTH. Robin Green [34]announced a new release
(2009.6.23.3) of [35]ZeroTH, a tool for preprocessing Haskell code to
run splices and remove Template Haskell dependencies. Major changes
include support for more Haskell code via haskell-src-exts 1.0.0,
better error messages, and librification.
Emping-0.6 and Tests/Examples. Hans van Thiel [36]announced version 0.6
of [37]Emping, a (prototype) interactive tool for the discovery and
analysis of (universal, not statistical) predictive rules in tables of
nominal data.
haskell-src-exts-1.0.0. Niklas Broberg [38]announced the first stable
release of the [39]haskell-src-exts package, version 1.0.0!
haskell-src-exts is a package for Haskell source code manipulation. In
particular it defines an abstract syntax tree representation, and a
parser and pretty-printer to convert between this representation and
String. 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.
HaRe (the Haskell Refactorer) in action - short screencast. Claus
Reinke [40]linked to [41]a short video showing [42]HaRe, the Haskell
refactorer, in action. HaRe still exists---but needs some love in the
form of time and/or funding for maintenance and continued development.
Trivial pivoting for the DSP lu decomposition. Fernan Bolando
[43]announced the beginnings of a [44]simple circuit simulator using
haskell, which uses a modified version of the haskell DSP library
matrix, extended with a simple pivoting method.
Discussion
make some Applicative functions into methods, and split off
Data.Functor. Ross Paterson [45]proposed moving several functions such
as (<$), (*>), and so on into their respective classes with default
definitions, to allow for specialized implementations.
base library and GHC 6.12. Ian Lynagh began a [46]discussion about how
to structure the base library in the future.
Proposal: ExplicitForall. Niklas Broberg [47]proposed adding a new GHC
extension, ExplicitForall, to be used for turning on explicit 'forall'
syntax in types, and to help disentangle and simplify some existing
extensions.
Generic Graph Class. Ivan Lazar Miljenovic [48]proposed a generic graph
class to serve as a common interface for the many Haskell libraries
that deal with graph data structures.
Type system trickery. Andrew Coppin [49]asked how to statically ensure
certain properties of recursive data structures with the type system,
generating varied suggestions involving GADTs.
Blog noise
[50]Haskell news from the [51]blogosphere. Blog posts from people new
to the Haskell community are marked with >>>, be sure to welcome them!
* Magnus Therning: [52]Making a choice from a list in Haskell, Vty
(part 0).
* The Gentoo Haskell Team: [53]Haskell in Gentoo.
* Michael Snoyman: [54]Hack Introduction.
* >>> Henry Laxen: [55]Reader Monad Confusion.
* >>> Akshay: [56]Dynamic Programming in Haskell and why DP is
useful.
* David Amos: [57]Direct products revisited.
* mightybyte: [58]Basic Happstack Blog App.
* David Amos: [59]Some groups and some graphs.
* Gergely Patai: [60]Short-term hp2any plans.
* Isaac Dupree: [61]cross-package, Plan A.
* >>> Oliver Reeves: [62]Data Crunching in Haskell.
* Roman Cheplyaka: [63]Halting problem.
* Petr Rockai: [64]darcs 2.3 beta 1.
* Eric Kow (kowey): [65]Haskell syntax highlighting on Wikipedia and
Wikibooks.
* Greg Bacon: [66]Setting up a simple test with Cabal.
* Isaac Dupree: [67]Cross-package documentation, part 1.
* Sean Leather: [68]RFC: Extensible, typed scanf- and printf-like
functions for Haskell.
* >>> Akshay: [69]Foray Into Haskell.
* >>> Ivan Uemlianin: [70]decorate-sort-undecorate in Haskell.
* Isaac Dupree: [71]How To Navigate Your Code:.
* Petr Rockai: [72]soc progress 5.
* DEFUN 2009: [73]The tutorial schedule is now ready.
* DEFUN 2009: [74]Last call for talk proposals!.
* >>> Greg Bacon: [75]Setting up a simple test with Cabal.
* The GHC Team: [76]New paper: Parallel Performance Tuning for
Haskell.
* Brandon Simmons: [77]Fun with Lazy Arrays: the LZ77 Algorithm.
* >>> Keith: [78]Bird Tracks Through Math Land: Basic Matrix Ops.
Quotes of the Week
* gnuvince: Contributions to Hackage are measured in µConals.
* DavidWheeler: Compatibility means deliberately repeating other
people's mistakes.
About the Haskell Weekly News
New editions are posted to [79]the Haskell mailing list as well as to
[80]the Haskell Sequence and [81]Planet Haskell. [82]RSS is also
available, and headlines appear on [83]haskell.org.
To help create new editions of this newsletter, please see the
information on [84]how to contribute. Send stories to byorgey at cis
dot upenn dot edu. The darcs repository is available at darcs get
[85]http://code.haskell.org/~byorgey/code/hwn/ .
References
1. http://haskell.org/
2. http://article.gmane.org/gmane.comp.lang.haskell.general/17320
3. http://www.regmaster.com/conf/icfp2009.html
4. http://haskell.org/haskell-symposium/2009/
5. http://www.haskell.org//pipermail/haskell/2009-June/021449.html
6. http://repetae.net/computer/jhc/
7. http://www.haskell.org//pipermail/haskell/2009-June/021460.html
8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xhb
9. http://article.gmane.org/gmane.comp.lang.haskell.general/17317
10. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/happstack
11. http://article.gmane.org/gmane.comp.lang.haskell.general/17316
12. http://hackage.haskell.org/package/sendfile
13. http://article.gmane.org/gmane.comp.lang.haskell.general/17311
14. http://hackage.haskell.org/package/control-monad-queue
15. http://article.gmane.org/gmane.comp.lang.haskell.general/17307
16. http://article.gmane.org/gmane.comp.lang.haskell.general/17304
17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/gnome%2Ddesktop
18. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60675
19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/loli
20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hack
21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60596
22. http://haskell.org/haskellwiki/Cal3d_animation
23. http://home.gna.org/cal3d/
24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d
25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dopengl
26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cal3d%2Dexamples
27. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60591
28. http://www.maztravel.com/haskell/readerMonad.html
29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60511
30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/full%2Dsessions
31. http://www.agusa.i.is.nagoya-u.ac.jp/person/sydney/full-sessions.html
32. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60465
33. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/darcs%2Dbeta
34. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60430
35. http://hackage.haskell.org/package/zeroth
36. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60411
37. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Emping
38. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60392
39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haskell%2Dsrc%2Dexts
40. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60388
41. http://www.youtube.com/watch?v=4I7VZV7elnY
42. http://www.cs.kent.ac.uk/projects/refactor-fp/
43. http://article.gmane.org/gmane.comp.lang.haskell.cafe/60590
44. http://plan9.bell-labs.com/sources/contrib/fernan/escomma.tar.bz2
45. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11428
46. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/11413
47. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/17137
48. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60460
49. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/60277
50. http://planet.haskell.org/
51. http://haskell.org/haskellwiki/Blog_articles
52. http://therning.org/magnus/archives/664
53. http://gentoohaskell.wordpress.com/?p=3
54. http://blog.snoyman.com/2009/06/28/hack-introduction/
55. http://www.maztravel.com/haskell/readerMonad.html
56. http://www.akrish.net/2009/06/28/dynamic-programming-in-haskell-and-why-dp-is-useful/
57. http://haskellformaths.blogspot.com/2009/06/direct-products-revisited.html
58. http://softwaresimply.blogspot.com/2009/04/basic-happstack-blog-app.html
59. http://haskellformaths.blogspot.com/2009/06/some-groups-and-some-graphs.html
60. http://just-bottom.blogspot.com/2009/06/short-term-hp2any-plans.html
61. http://haddock2009.wordpress.com/2009/06/25/cross-package-plan-a/
62. http://buffered.io/2009/06/25/data-crunching-in-haskell/
63. http://ro-che.blogspot.com/2009/06/halting-problem.html
64. http://web.mornfall.net/blog/darcs_2.3_beta_1.html
65. http://koweycode.blogspot.com/2009/06/haskell-syntax-highlighting-on.html
66. http://feedproxy.google.com/~r/gbacon/~3/7rlf4Dd1JKU/setting-up-simple-test-with-cabal.html
67. http://haddock2009.wordpress.com/2009/06/24/cross-package-documentation-part-1/
68. http://feedproxy.google.com/~r/splonderzoek/~3/vO9VuXrFTCg/rfc-extensible-typed-scanf-and-printf.html
69. http://www.akrish.net/2009/06/24/foray-into-haskell/
70. http://llaisdy.wordpress.com/2009/06/24/decorate-sort-undecorate-in-haskell/
71. http://haddock2009.wordpress.com/2009/06/23/how-to-navigate-your-code/
72. http://web.mornfall.net/blog/soc_progress_5.html
73. http://www.defun2009.info/blog/2009/06/the-tutorial-schedule-is-now-ready/
74. http://www.defun2009.info/blog/2009/06/last-call-for-talk-proposals/
75. http://gbacon.blogspot.com/2009/06/setting-up-simple-test-with-cabal.html
76. http://ghcmutterings.wordpress.com/2009/06/22/new-paper-parallel-performance-tuning-for-haskell/
77. http://coder.bsimmons.name/blog/2009/06/fun-with-lazy-arrays-the-lz77-algorithm/
78. http://blog.keithsheppard.name/2009/06/bird-tracks-through-math-land-basic.html
79. http://www.haskell.org/mailman/listinfo/haskell
80. http://sequence.complete.org/
81. http://planet.haskell.org/
82. http://sequence.complete.org/node/feed
83. http://haskell.org/
84. http://haskell.org/haskellwiki/HWN
85. http://code.haskell.org/~byorgey/code/hwn/
More information about the Haskell
mailing list