[Haskell] Haskell Weekly News: Issue 128 - August 26, 2009
Brent Yorgey
byorgey at seas.upenn.edu
Wed Aug 26 18:56:56 EDT 2009
---------------------------------------------------------------------------
Haskell Weekly News
http://sequence.complete.org/hwn/20090826
Issue 128 - August 26, 2009
---------------------------------------------------------------------------
Welcome to issue 128 of HWN, a newsletter covering developments in the
[1]Haskell community.
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
participants.
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!
Announcements
GLUT 2.2.1.0. Sven Panne [2]announced a new version of the [3]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 [4]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 [5]announced the release of
[6]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
descriptors.
gitit 0.6.1. John MacFarlane [7]announced the release of [8]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
plugin system.
jhc 0.7.1. John Meacham [9]announced the 0.7.1 release of the [10]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 [11]announced the release of
[12]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 [13]announced that the formlets team has
released a new version of [14]formlets, a library to build type-safe,
composable web forms. Most notably, Mightybyte and Chris worked on the
[15]massInput functionality, which is now ready for use!
graphtype -- A simple tool to illustrate dependencies between Haskell
types. Max Desyatov [16]announced the release of [17]graphtype, a tool
for visualising type declarations in Haskell source files. It produces
[18].dot-files for subsequent processing with graphviz.
OAuth library in haskell. Diego Souza [19]announced the release of
[20]hoauth, a library which helps you to deal with the [21]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 [22]announced [23]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 [24]announced the release of
[25]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
appreciated!
ministg-0.2, an interpreter for STG operational semantics. Bernie Pope
[26]announced the first public release of [27]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 [28]example trace.
OpenCLRaw 1.0.1000. Jeff Heard [29]announced the release of
[30]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 [31]announced [32]compose-trans, a
small library intended to make monad transformers composable.
Haddock version 2.5.0. David Waern [33]announced the release of
[34]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
[35]sent a reminder that we will be having a [36]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 [37]announced
[38]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 [39]announced a new version of [40]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 2.3.0.0 and
older versions, choice of a "dynamic" flag to link with dynamic GLFW C
library instead, and a number of other fixes, cleanups and
improvements.
HacPDX, A Hackathon in Portland. Thomas DuBuisson [41]announced
[42]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 [43]announced
[44]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.
Contributors welcome!
cabal-query 0.1. Max Desyatov [45]announced the release of
[46]cabal-query, a package to assist in finding a set of Cabal packages
which satisfy your needs.
EnumMap-0.0.1. John Van Enk [47]announced the first version of
[48]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 [49]Google Summer of
Code.
Haddock improvements! Isaac Dupree has [50]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
soon!
EclipseFP. Thomas Ten Cate began adding a notion of [51]build targets
to EclipseFP, so that projects can be created without .cabal files. He
has [52]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 [53]uploaded hp2any, a set of realtime space
profiling tools, to Hackage. He also [54]created a [55]haskellwiki page
describing it and its use.
haskell-src-exts -> haskell-src. Niklas Broberg has been [56]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 [57]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.
Discussion
Unification and matching in Abelian groups. John D. Ramsdell [58]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 [59]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 [60]requested
feedback on some simple tools to do safe calculations on different
currencies.
DDC compiler and effects; better than Haskell? (was Re:
unsafeDestructiveAssign?). Peter Verswyvelen began a long
[61]discussion about the DDC compiler and its effect system, and the
relationship to Haskell and monads.
Jobs
Credit Suisse is hiring. Ganesh Sittampalam [62]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
information.
Jane Street is Hiring (as if you didn't already know). Yaron Minsky
sent out a [63]reminder that [64]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 [65]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.
Blog noise
[66]Haskell news from the [67]blogosphere. Blog posts from people new
to the Haskell community are marked with >>>, be sure to welcome them!
* Isaac Dupree: [68]Summer of Code Wrap-Up..
* Thomas ten Cate: [69]Endgame.
* Jeff Heard: [70]Followup to my earlier post on Hilbert curve
timeseries plots.
* Jeff Heard: [71]Plotting timeseries in space filling curves.
* Magnus Therning: [72]Making a choice from a list in Haskell, Vty
(part 5, the last one).
* Magnus Therning: [73]Fork/exec in Haskell.
* Edward Kmett: [74]Iteratees, Parsec and Monoids (Slides).
* Chris Smith: [75]Flow Equivalence Code in Haskell.
* Thomas Ten Cate: [76]Build targets.
* Chris Smith: [77]Catching a Mathematical Error Using Haskell's Type
System.
* Well-Typed: [78]Industrial Haskell Group meeting at CUFP.
* London HUG: [79]Next meeting: Alex McLean, Live coding music with
Haskell.
* David Amos: [80]Finite fields, part 1.
* Greg Bacon: [81]Simple analogy for lazy evaluation .
* Magnus Therning: [82]JSON in Haskell.
* Notes on the LHC: [83]Status update: New Integer implementation..
* Edward Kmett: [84]Clearer Reflections.
* Petr Rockai: [85]soc final report.
* Gergely Patai: [86]hp2any overview online.
* Brent Yorgey: [87]New 2D text layout library.
* Manuel Chakravarty: [88]World's first formal machine-checked proof
of a general-purpose operating system kernel..
* Bryan O'Sullivan: [89]Haskell Platform support for Fedora: we're
almost there.
* Gergely Patai: [90]hp2any on Hackage.
* Doug Beardsley: [91]Dynamic List Formlets in Haskell .
* Niklas Broberg: [92]Quick update.
* Christopher Lane Hinson: [93]FactoryArrow.
* Michael Feathers: [94]Imposing the Edges Later .
* Brent Yorgey: [95]Species operations: differentiation.
* >>> Ron Leisti: [96]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
modules
* 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 [97]the Haskell mailing list as well as to
[98]the Haskell Sequence and [99]Planet Haskell. [100]RSS is also
available, and headlines appear on [101]haskell.org.
To help create new editions of this newsletter, please see the
information on [102]how to contribute. Send stories to byorgey at cis
dot upenn dot edu. The darcs repository is available at darcs get
[103]http://code.haskell.org/~byorgey/code/hwn/ .
References
1. http://haskell.org/
2. http://article.gmane.org/gmane.comp.lang.haskell.general/17442
3. http://hackage.haskell.org/package/GLUT
4. http://article.gmane.org/gmane.comp.lang.haskell.libraries/11813
5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62782
6. http://hackage.haskell.org/package/epoll
7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62776
8. http://gitit.johnmacfarlane.net/
9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62759
10. http://repetae.net/computer/jhc
11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62743
12. http://hackage.haskell.org/package/rss2irc
13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62738
14. http://hackage.haskell.org/package/formlets
15. http://softwaresimply.blogspot.com/2009/08/dynamic-list-formlets-in-haskell.html
16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62736
17. http://hackage.haskell.org/package/graphtype
18. http://i.piccy.info/i4/00/90/bfa07290012c2d3b455696bdaa86.png
19. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62735
20. http://hackage.haskell.org/package/hoauth
21. http://oauth.net/
22. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62695
23. http://hackage.haskell.org/package/bytestring-nums
24. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62682
25. http://hackage.haskell.org/package/haskell-src-exts
26. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62559
27. http://www.haskell.org/haskellwiki/Ministg
28. http://www.cs.mu.oz.au/~bjpop/trace/step0.html
29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62414
30. http://hackage.haskell.org/package/OpenCLRaw
31. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62390
32. http://hackage.haskell.org/package/compose%2Dtrans
33. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62341
34. http://www.haskell.org/haddock
35. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62324
36. http://www.haskell.org/haskellwiki/Hac7
37. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62277
38. http://hackage.haskell.org/package/network%2Dfancy
39. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62259
40. http://hackage.haskell.org/package/GLFW
41. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62195
42. http://haskell.org/haskellwiki/HacPDX
43. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62173
44. http://killersmurf.blogspot.com/
45. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62139
46. http://hackage.haskell.org/package/cabal%2Dquery
47. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62119
48. http://hackage.haskell.org/package/EnumMap
49. http://hackage.haskell.org/trac/summer-of-code/wiki/SoC2008
50. http://haddock2009.wordpress.com/2009/08/26/summer-of-code-wrap-up/
51. http://eclipsefp.wordpress.com/2009/08/20/build-targets/
52. http://eclipsefp.wordpress.com/2009/08/25/endgame/
53. http://just-bottom.blogspot.com/2009/08/hp2any-on-hackage.html
54. http://just-bottom.blogspot.com/2009/08/hp2any-overview-online.html
55. http://www.haskell.org/haskellwiki/Hp2any
56. http://nibrofun.blogspot.com/2009/08/just-quick-note-since-i-realise-i.html
57. http://web.mornfall.net/blog/soc_final_report.html
58. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62486
59. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62403
60. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62342
61. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/62205
62. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62406
63. http://article.gmane.org/gmane.comp.lang.haskell.general/17436
64. http://www.janestreet.com/
65. http://article.gmane.org/gmane.comp.lang.haskell.cafe/62191
66. http://planet.haskell.org/
67. http://haskell.org/haskellwiki/Blog_articles
68. http://haddock2009.wordpress.com/2009/08/26/summer-of-code-wrap-up/
69. http://eclipsefp.wordpress.com/
70. http://vis.renci.org/jeff/2009/08/24/followup-to-my-earlier-post-on-hilbert-curve-timeseries-plots/
71. http://vis.renci.org/jeff/2009/08/24/plotting-timeseries-in-space-filling-curves/
72. http://therning.org/magnus/archives/732
73. http://therning.org/magnus/archives/727
74. http://comonad.com/reader/2009/iteratees-parsec-and-monoid/
75. http://cdsmith.wordpress.com/2009/08/20/flow-equivalence-code-in-haskell/
76. http://eclipsefp.wordpress.com/2009/08/20/build-targets/
77. http://cdsmith.wordpress.com/2009/08/19/catching-a-mathematical-error-using-haskells-type-system/
78. http://blog.well-typed.com/2009/08/industrial-haskell-group-meeting-at-cufp/
79. http://www.londonhug.net/2009/08/18/next-meeting-alex-mclean-live-coding-music-with-haskell/
80. http://haskellformaths.blogspot.com/2009/08/finite-fields-part-1.html
81. http://gbacon.blogspot.com/2009/08/simple-analogy-for-lazy-evaluation.html
82. http://therning.org/magnus/archives/719
83. http://lhc-compiler.blogspot.com/2009/08/status-update-new-integer.html
84. http://comonad.com/reader/2009/clearer-reflection/
85. http://web.mornfall.net/blog/soc_final_report.html
86. http://just-bottom.blogspot.com/2009/08/hp2any-overview-online.html
87. http://byorgey.wordpress.com/2009/08/14/new-2d-text-layout-library/
88. http://justtesting.org/post/162408446/worlds-first-formal-machine-checked-proof-of-a
89. http://www.serpentine.com/blog/2009/08/12/haskell-platform-support-for-fedora-were-almost-there/
90. http://just-bottom.blogspot.com/2009/08/hp2any-on-hackage.html
91. http://softwaresimply.blogspot.com/2009/08/dynamic-list-formlets-in-haskell.html
92. http://nibrofun.blogspot.com/2009/08/just-quick-note-since-i-realise-i.html
93. http://blog.downstairspeople.org/2009/08/09/factoryarrow/
94. http://blog.objectmentor.com/articles/2009/08/08/imposing-the-edges-later
95. http://byorgey.wordpress.com/2009/08/05/species-operations-differentiation/
96. http://www.ronleisti.com/wp/2009/07/26/a-prime-number-sieve-in-haskell/
97. http://www.haskell.org/mailman/listinfo/haskell
98. http://sequence.complete.org/
99. http://planet.haskell.org/
100. http://sequence.complete.org/node/feed
101. http://haskell.org/
102. http://haskell.org/haskellwiki/HWN
103. http://code.haskell.org/~byorgey/code/hwn/
More information about the Haskell
mailing list