Haskell Weekly News

Haskell Weekly News: January 30, 2006

Submitted by dons on Mon, 01/30/2006 - 9:55pm.

Haskell Weekly News: January 30, 2006

Greetings, and thanks for reading the 22nd issue of HWN, a weekly newsletter for the Haskell community. Each Monday, new editions are posted to the Haskell mailing list and to The Haskell Sequence. RSS is also available.

New Releases

  • C-- Frontend. Robert Dockins announced the initial alpha release of a C-- frontend (parser, pretty printer, and semantic checker) written in Haskell. The goal when beginning this project was to create a modular frontend that could be used both by people writing and by those targeting C-- compilers. This implementation attempts to follow the C-- spec as exactly as possible.
  • Type level arithmetic. Robert Dockins also released a library for arithmetic on the type level. This library uses a binary representation and can handle numbers at the order of 10^15 (at least). It also contains a test suite to help validate the somewhat unintuitive algorithms.

Haskell'

This section covers activity on Haskell' this week. The topics this week have been diverse. Next week we'll try to cover activity on the wiki as well. From the mailing list:

Discussion

Darcs Corner

    Darcs is popular. Isaac Jones brought to our attention the results of the Debian package popularity contest. For the first time a program written in Haskell is more popular than the Haskell toolchain itself. Congratulations to the darcs developers!

Quote of the Week

<araujo> Haskell is bad, it makes you hate other programming languages.

Contributing to HWN

You can help us create new editions of this newsletter. Please see the contributing information, send stories to dons -at- cse.unsw.edu.au. The darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn

Haskell Weekly News: January 23, 2006

Submitted by dons on Sun, 01/22/2006 - 10:19pm.

Haskell Weekly News: January 23, 2006

Greetings, and thanks for reading the 21th issue of HWN, a weekly newsletter for the Haskell community. Each Monday, new editions are posted to the Haskell mailing list and to The Haskell Sequence. RSS is also available.

New Releases

  • Haskell'

    This week Isaac Jones announced that the Haskell' standardisation process is underway. Haskell' will be a conservative refinement of Haskell 98:

    Announcing the Haskell' ("Haskell-Prime") process. A short time ago, I asked for volunteers to help with the next Haskell standard. A brave group has spoken up, and we've organized ourselves into a committee in order to coordinate the community's work. It will be the committee's task to bring together the very best ideas and work of the broader community in an "open-source" way, and to fill in any gaps in order to make Haskell' as coherent and elegant as Haskell 98.

    Read the full announcement here.

    Presently, the following resources are available:

    Please join us in making Haskell' a success.

Resources and Tools

  • Cabal. Isaac Jones announced some changes to Cabal, including new changes to the `hooks' interface. Feedback is encouraged. Secondly, a move is underway to build an exhaustive list of all Cabalised packages. Add a link if you have something! Isaac is asking people to re-send any Cabal bug reports or feature requests yet to be addressed. Report them on the Cabal Wiki & Bug Tracker
  • Darcs switchover GHC has switched to darcs. The era of CVS is at an end:
    From: Simon Marlow
    Subject: TAG final switch to darcs, this repo is now live
    
    Fri Jan 20 05:46:30 PST 2006  Simon Marlow  microsoft.com>
      tagged final switch to darcs, this repo is now live

Discussion

  • IO Regions. Oleg Kiselyov describes a simple implementation of monadic regions. The technique provides static guarantees that neither a file handle nor any computation involving the handle can leak outside of the region that created it. The technique has no runtime overhead and induces no runtime errors. For some background, John Launchbury and Simon Peyton Jones's 94 paper Lazy Functional State Threads is useful.
  • Lexically scoped type variables. Simon Peyton-Jones released a proposal to change the way in which lexically-scoped typed variables work in GHC, as part of a revision to make type inference for GADTs simpler and more uniform.
  • Providing an alternative to GMP. Esa Ilari Vuokko began a discussion on modifying the GHC runtime and build system to support alternative arbtirary precision arithmetic libraries, other than the GPL'd GMP.
  • Arrays interfaces. (clarification) The Haskell'98 library report contains only basic Array implementation. The Hierarchical Libraries, shipped with modern versions of GHC, Hugs and NHC, includes much richer arrays library. Bulat Ziganshin started a wiki page describing how to use these new array interfaces.

Papers

This is a new HWN section collecting paper or article abstracts on Haskell-related topics. If you have submitted a new Haskell paper, send your abstract to HWN, and the abstract will appear in the next issue.

  • Ralf Lämmel. Book review, "The Haskell Road to Logic, Maths and Programming" by Kees Doets and Jan van Eijck. To appear in JoLLI journal; 13 pages. http://www.cs.vu.nl/~ralf/JoLLI06.
    The "Haskell road" is an excellent book worth considering as course material and reading anyhow. A non-Haskell road is also discussed in the review.

  • Ralf Lämmel. "Google's MapReduce Programming Model -- Revisited" Draft; To be submitted; feedback appreciated; 27 pages. http://www.cs.vu.nl/~ralf/MapReduce.
    The seminal MapReduce paper had been briefly discussed at LTU without really going into technical details. The present paper discovers the concepts from a functional programming perspective. Did you ever wonder why MapReduce is called MapReduce?

Darcs Corner

  • Darcs Blogging. Zooko wrote an interesting blog entry on the PR issues darcs has, and on the various activities undertaken by the darcs developers.

Quote of the Week

    <monochrom> monadic regions? sounds neat.
    <monochrom> "monadic ___" sounds neat :)
    <dons> forall a. Monad a => Neat a

Contributing to HWN

Thanks to Bulat Ziganshin and Isaac Jones for contributing material to this edition of HWN.

You can help us create new editions of this newsletter. Please see the contributing information, send stories to dons -at- cse.unsw.edu.au. The darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn

Haskell Weekly News: January 16, 2006

Submitted by dons on Sun, 01/15/2006 - 6:30pm.

Haskell Weekly News: January 16, 2006

Greetings, and thanks for reading the 20th issue of HWN, a weekly newsletter for the Haskell community. Each Monday, new editions are posted to the Haskell mailing list and to The Haskell Sequence. RSS is also available.

New Releases

  • hdbc-odbc. John Goerzen released the first version of hdbc-odbc, the ODBC backend for HDBC. With this driver, you can use HDBC to connect to any database for which ODBC drivers exist, including such databases as MySQL, Oracle, MS SQL Server

Resources and Tools

  • Haskell Performance Resources. Simon Marlow opened up a wiki page to collect the community wisdom on writing high performance Haskell code. This is particularly relevant given the discussions regarding the language shootout recently, with many interesting techniques proposed.

Discussion

  • Arrays. Bulat Ziganshin wrote an interesting RFC on the various Haskell array interfaces.
  • Functional Java. Graham Klyne alerted us to FunctionalJ, an open source library for functional programming in Java. This might be useful to those unfortunates trapped on the JVM. Additionally, Bjorn Bringert mentioned a similar library, Higher-Order Java (HOJ), he wrote a few years ago.
  • Data structures. Duncan Coutts was looking for an efficient data structure to implement a sequence data type with indexed insert/delete/lookup.
  • Language Shootout, continued. Many entries have been improved on the Computer Language Shootout, and after several years of complaints that micro-benchmarks are meaningless, and that the tests are biased against purely functional languages, it's great to see that Haskell is now ranked 2nd overall.

Darcs Corner

  • darcsweb 0.14. Alberto Bertogli released darcsweb 0.14.

Quotes of the Week

     <palomer> grr, sml can't derive Ord
     <palomer> sml is a pain to use sometimes
     <palomer> but sometimes it's a joy!
     <palomer> ugh, I take it back, it's a pain

Contributing to HWN

You can help us create new editions of this newsletter. Please see the contributing information, send stories to dons -at- cse.unsw.edu.au. The Darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn

Haskell Weekly News: January 9, 2006

Submitted by dons on Sun, 01/08/2006 - 9:18pm.

Haskell Weekly News: January 9, 2006

Greetings, and thanks for reading the 19th issue of HWN, a weekly newsletter for the Haskell community. Each Monday, new editions are posted to the Haskell mailing list and to The Haskell Sequence. RSS is also available.

New Releases

  • A Faster Binary. Bulat Ziganshin posted a preliminary optimised Binary library, achieving excellent (de)serialization speeds of around 50 Mb/s in testing.

Resources and Tools

  • Haskell mail. Simon Peyton-Jones has put together a complete archive of the Haskell mailing list since its birth in Sept 1990 until Oct 2000 -- the date where the current mailman archive takes over. This is a valuable resource for the community.
  • haskell.org. John Peterson is seeking comments on the haskell.org move to MediaWiki. Currently only the front page is finished, and its time for comments. In the end this will allow anyone to come in and fix up the main haskell.org pages - the people, the projects, the help for beginners, all of it. One job that will be needed is to move the current hawiki contents onto MediaWiki. Feel free to start adding stuff to the new haskellwiki.

Discussion

  • Language Shootout. Discussion took place on on haskell-cafe to improve the performance of the Haskell entries. This process has greatly improved some entries. Haskell is now the fastest entry for the concurrency benchmark, Chameneos. More can still be done. Some entries are being worked on here. The problems are quite short, and fairly easy to solve, so fire up the profiler and hack!
  • MonadZero. Cale Gibbard opened a discussion about reinclusion of MonadZero, and removal of `fail' from the Monad class, citing the overuse of monadic typing to indicate the possibility of failure as one of the problems. Instead, MonadZero should be used for failure. References were made to the discussions that took place on this issue during the Haskell 98 process.
  • History channel. On a similar theme, an expedition took place on #haskell into functions and classes from earlier implementations of Haskell that had disappeared by Haskell 98. Of particular interest was the Eval class, and various things in the constructor class prelude from Gofer, such as:
    class (Functor f, Functor g) => NatTransf f g where
        eta :: f a -> g a
    and fun definitions like:
    undefined :: a
    undefined | False = undefined
    

Darcs Corner

A darcs gui. Eric Kow proposed resurrecting the darcs wxhaskell gui for a new darcs gui.

Quote of the Week

* autrijus stares at 
  type Eval x = forall r. ContT r (ReaderT x IO) (ReaderT x IO x) 
  and feels very lost
<shapr> Didn't you write that code?
<autrijus> yeah. and it works
<autrijus> I just don't know what it means.

Contributing to HWN

You can help us create new editions of this newsletter. Please see the contributing information, send stories to dons -at- cse.unsw.edu.au. The Darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn

Haskell Weekly News: January 3, 2006

Submitted by dons on Mon, 01/02/2006 - 9:43pm.

Haskell Weekly News: January 3, 2005

Greetings, and thanks for reading the 18th issue of HWN, a weekly newsletter for the Haskell community. Each Monday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

This issue brings a change to the Haskell Weekly News as Don Stewart takes over from John Goerzen as editor. Thanks goes to John for his excellent work on the first 17 editions!

New Releases

  • Process library. Bulat Ziganshin announced a new library abstracting over some of the process and concurrency functions in the standard libraries, using ideas from Unix pipes.
  • Djinn. Lennart Augustsson released Djinn, a theorem prover/coding wizard, that generates Haskell code from a given type. A lambdabot plugin for Djinn was also written, for use in #haskell.
  • Ranged Sets. Paul Johnson released a ranged sets library 0.0.1 and 0.0.2. Ranged sets allow programming with sets of values that are described by a list of ranges. A value is a member of the set if it lies within one of the ranges.
  • Hmp3. Don Stewart announced a stable release of hmp3, an curses-based mp3 player written in Haskell. Portability has improved, and binaries are available for 5 architectures.
  • HSQL. Krasimir Angelov released HSQL 1.7. New features include a driver for Oracle.
  • HDBC. John Goerzen announced the 0.5.0, 0.6.0 and 0.99.0 releases of Haskell Database Connectivity library. Patterned after Perl's DBI, it includes an Sqlite3 and a PostgreSQL backend
  • Shellac. Robert Dockins released Shellac, a framework for building read-eval-print style shells. This should ease the burden of binding readline-style interactive shells in Haskell.
  • Lambda Shell. Robert Dockins also released v0.1 of Lambda Shell, a shell environment for evaluating terms of the pure, untyped lambda calculus. A lambdabot interface for use in #haskell also exists.
  • Shaskell. David Mercer announced version 0.21a of Shaskell, a SHA2 library for sha256 and sha512 hashes, written in pure Haskell.
  • hdbc-missingh. John Goerzen announced the initial release of HDBC-MissingH, a library to add database features to MissingH, allowing the use of a SQL database as storage for a simple DBM-like key/value interface.

Discussion

  • Making Haskell More Open. Simon Peyton-Jones reinitiated a discussion on how to make Haskell more open, and in particular how to make it easier for Haskell users to contribute.
  • The Unboxed Kind. Ashley Yakeley asked about creating type variables with unboxed kind. This lead to an interesting discussion about the difficulties that result, including the problems of polymorphic functions over unboxed values.

Haskell Toolchain

Fptools in Darcs. John Goerzen has set up live darcs mirrors of fptools, ready for testing. With over 13,000 patches in fptools, you'll want to use --partial.

Darcs Corner

  • Darcs 1.0.5. A stable release of Darcs 1.0.5 was made. This release includes fixes for Windows, as well as some new features.
  • darcsweb. Alberto Bertogli announced darcsweb 0.13, a rather lovely web interface to darcs repositories.

Quotes of the Week

    <sieni> State?
    <sieni> There is no state :-)
    <shapr> Haskell separates Church and state.
    

About Haskell Weekly News

Want to continue reading HWN? You can help us create new editions of this newsletter. Please see the contributing information, send stories to dons -at- cse.unsw.edu.au. The Darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn

Haskell Weekly News: November 29, 2005

Submitted by jgoerzen on Tue, 11/29/2005 - 6:13am.

Greetings, and thanks for reading the 17th issue of HWN, a weekly newsletter for the Haskell community. Each Tuesday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

Discussion

Monads in other languages. A very interesting thread covering availability of monads for other programming languages.

Haskell in higher education. John Hughes posted a survey aimed at those teaching Haskell in higher education.

GHC 6.6 progress. Jim Apple mentioned the wiki page on GHC 6.6.

GHC targetting Java. John Goerzen asked about the apparent support for a Java target in the GHC source tree. Simon Peyton-Jones noted that it is no longer supported.

Darcs Corner

P2P repositories. There was a lot of discussion on the Darcs lists about using a P2P network for storing Darcs information.

About Haskell Weekly News

Want to continue reading HWN? Please help us create new editions of this newsletter. Please see the contributing information, or send stories to hwn -at- complete -dot- org. There is also a Darcs repository available.

Haskell Weekly News: November 22, 2005

Submitted by jgoerzen on Tue, 11/22/2005 - 6:26am.

Greetings, and thanks for reading the 16th issue of HWN, a weekly newsletter for the Haskell community. Each Tuesday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

New Releases

There are several exciting releases to report this week.

  • hmp3. Donald Bruce Stewart announced hmp3, an ncurses-based music player written in Haskell.
  • Frag. Mon Hon Cheong announced Frag, a first-person shooter written in Haskell using HOpenGL. Several comments were posted offering thanks and seeking more information. Screenshots are also available.
  • Haskell Communities & Activities Report. The November 2005 editition of this report is now available.
  • Haskell Server Pages 0.4.0. The latest release of HASP is now available, featuring a new bytecode generator and less of a need for many other add-on packages.
  • Blobs diagram editor. The first release of Blobs was announced this week. It is based on earlier work that has been shown at some Haskell conferences.

Requests for Participation

Take 10 list. Kenneth Hoste posted a request for user contributions regarding a top 10 list of Haskell libraries.

Discussion

Updating Haskell. It's been a busy week for these discussions. There have been threads on records (~ 200 messages) and GHC. Unfortunately your HWN editor hasn't had time to read these monster threads, so have at it!

About Haskell Weekly News

Want to continue reading HWN? Please help us create new editions of this newsletter. Please see the contributing information, or send stories to hwn -at- complete -dot- org. There is also a Darcs repository available.

Haskell Weekly News: November 15, 2005

Submitted by jgoerzen on Fri, 11/18/2005 - 6:28am.

Greetings, and thanks for reading the 15th issue of HWN, a weekly newsletter for the Haskell community. Each Tuesday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

New Releases

  • York Haskell Compiler. Thomas Davie announced the York Haskell Compiler project, which already has working code. Quite a few people chimed in with questions.

Discussion

Making Haskell more open. Simon Peyton-Jones began a long thread with some ideas about making Haskell more open to the wider community. The thread is too long to completely summarize here, and branched out in several directions, including a discussion of the haskell.org homepage.

Haskell users survey. John Hughes wrote about a web-based survey about Haskell. He is encouraging everyone with an interest in Haskell to participate.

Darcs Corner

Darcs 1.0.4 was released this week. There are quite a few performance improvements, a new posthook option, manifest feature, new "darcs put" command, more git support, and various bugfixes.

Quote of the Week

"Impossible things are delayed immediately. Miracles may take a little longer." -- Claus Reinke on haskell-cafe.

About Haskell Weekly News

Yes, it's late again. But, while I am no Zaphod Beeblebrox, carry no towel, have no Improbability Drive, and certainly couldn't have come up with 42 on my own, if Douglas Adams' "Hitchhiker's Guide to the Universe" series can still be called a trilogy, then HWN can still be called weekly :-)

Want to continue reading HWN? Please help us create new editions of this newsletter. Please see the contributing information, or send stories to hwn -at- complete -dot- org. There is also a Darcs repository available.

Haskell Weekly News: November 8, 2005

Submitted by jgoerzen on Tue, 11/08/2005 - 5:47am.

Greetings, and thanks for reading the 14th issue of HWN, a weekly newsletter for the Haskell community. Each Tuesday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

New Releases

  • Haskell-mode 2.1. Stefan Monnier recently released version 2.1 of his haskell editing mode for Emacs.
  • Gtk2hs 0.9.10. Duncan Coutts announced that the latest version of the GTK bindings for Haskell is now available. Major new features include the Cairo vector graphics library bindings, Pango text layout code, new Gtk+ 2.8 APIs, and a Windows installer.
  • Frown 0.6. Ralf Hinze announced the first release of Frown, a LALR(k) parser generator for Haskell. Frown has a number of interesting features and is considered beta-quality at this time.
  • network-alt 0.3 and hsgnutls 0.2.1. Einar Karttunen announced the availability of new versions of these two libraries. network-alt is an alternative networking library designed to have a nicer API and better performance. hsgnutls is a TLS/SSL layer atop the GNU TLS library, supporting both client and server applications.

Calls for Participation

Top 10 articles. Kenneth Hoste posted a request for people to contribute articles about various Haskell subjects. Each article will list the 10 most famous or frequently used things about that particular subject, and will be posted through The Monad.Reader.

Discussion

Time libraries. Ashley Yakeley started a lively thread about time libraries in Haskell.

Conferences

Haskell Workshop Steering Committee. Johan Jeuring announced that ACM SIGPLAN has approved a Haskell Workshop Steering Committee to offer help and advice to the organizers of the workshop.

Darcs Corner

Darcs 1.0.4rc2 is out. David Roundy announced the release of Darcs 1.0.4rc2, the second and hopefully last candidate before the 1.0.4 release.

About Haskell Weekly News

Want to continue reading HWN? Please help us create new editions of this newsletter. Please see the contributing information, or send stories to hwn -at- complete -dot- org. There is also a Darcs repository available.

Haskell Weekly News: November 1, 2005

Submitted by jgoerzen on Tue, 11/01/2005 - 5:27am.

Greetings, and thanks for reading the 13th issue of HWN, a weekly newsletter for the Haskell community. Each Tuesday, new editions will be posted (as text) to the Haskell mailing list and (as HTML) to The Haskell Sequence.

New Releases

  • Time Library 0.2. Ashley Yakeley announced a draft of a new time library and solicited comments.

Calls for participation

HCAR entries due TODAY. Andres Loeh posted a reminder that entries for the Haskell Communities and Activities Report are due today.

Discussion

Undecidable instances. In a thread about the need for undecidable instances, Johannes Waldmann suggested the use of termination analyzers.

Finding the character frequency in a string. Jon Fairbairn started an interesting thread about calculating the frequency each character in a string occurs.

FFI and modifying Haskell memory. Joel Reymont asked about proper FFI design for programs that read data in.

Haskell Toolchain

GHC assembly. John Meacham posted an analysis of GHC's assembly output, a comparison to jhc, and some suggestions for improving GHC's output.

Data.* collections maintenance. This large thread on the libraries list covered potential future directions for the Data.* libraries.

Quotes of the Week

For those that adhere to learn one new language per year which other languages should we learn?
Matz suggests io (or Haskell but he admits it makes his brain explode).
-- From RubyConf 2005 Roundtable discussion with Yukihiro "Matz" Matsumoto, creator of Ruby.

The Meta-FAQ

Q: What happened to HWN last week?

A: The answer to this question really goes back to the 16th century and the first movements in Europe to modernize astronomy away from the earth-centric view. But it wasn't really until Newton's time (late 17th and early 18th centuries) that we started to have the more advanced understanding necessary to begin answering this question. Modern astronomers have been able to calculate the period of the earth at 86164.09053 seconds, which is a few minutes shorter than the apparent day due to the earth's simultaneous orbit around the sun.

The second part of the answer to this question dates back even farther to ancient Egypt. The Egyptians used a duo-decimal numbering system, and found it convenient to separate each day into 24 equal units. Since then, other definitions for the hour have come in to play, usually based on the apparent solar day or the time between sunrise and sunset. These days, the hour is defined at 3600 seconds.

While each day appears to consist of approximately 24 hours, the period of the earth really is 23 hours, 56 minutes, and 4.09053 seconds. (I for one am pleased to receive the extra 4 minutes per day.)

So, we can see that the problem really is that there just weren't enough hours in a day for your HWN editor to get the issue out on time last week. I blame it on the ancient Egyptians.

Q: Would HWN have come out on time if you hadn't had to prepare a lengthy explanation for why it was late?

A: Good question. You should medidate on that for awhile and let us know for next week's HWN.

Q: Does this issue cover two weeks of fascinating Haskell news then?

A: Of course!

About Haskell Weekly News

Thanks to Jim Apple and Josef Svenningsson for contributing to this week's HWN.

Want to continue reading HWN? Please help us create new editions of this newsletter. Please see the contributing information, or send stories to hwn -at- complete -dot- org. There is also a Darcs repository available.