Headlines from the Haskell Weekly News
- The Haskell Workshop. Andres Loeh released the initial call for papers for the ACM SIGPLAN 2006 Haskell Workshop, to be held at Portland, Oregon on the 17 September, 2006. The purpose of the Haskell Workshop is to discuss experience with Haskell, and possible future developments for the language. The scope of the workshop includes all aspects of the design, semantics, theory, application, implementation, and teaching of Haskell.
- Probability Distributions. Matthias Fischmann released a module for sampling arbitrary probability distribution, so far including normal (gaussian) and uniform distributions.
- Constructor Classes. Sean Seefried announced an implementation of a tool to help explore constructor classes (type classes which can take constructors as arguments) described in Mark Jones' paper, A system of constructor classes: overloading and implicit higher-order polymorphism. The implementation not only infers the type but also prints out a trace of the derivation tree for the syntax directed rules.
- FFI Imports Packaging Utility. Dimitry Golubovsky
the pre-release of the FFI Imports Packaging Utility
(ffipkg), a new member of the HSFFIG package.
The `ffipkg' utility prepares a Haskell package containing FFI imports
for building by accepting locations of C header and foreign library
files as command line arguments and producing Haskell source files
with FFI declarations, a Makefile, a Cabal package descriptor file,
and a Setup.hs file suitable for running the Cabal package setup
program. The utility acts as a "driver" running the C preprocessor,
the equivalent of the hsffig program, and the source splitter.
darcs get --partial http://hsffig.sourceforge.net/repos/hsffig-1.1
- Haskell in Higher Education. John Hughes announced that the result of his survey into the use of Haskell in higher education are out. The survey covers 89 universities, accounting for 5-10,000 students being taught Haskell this academic year. The results are available on the web.
- EclipseFP. Thiago Arrais announced that EclipseFP 0.9.1 has been released since last Friday. It is an open-source development environment for Haskell code. EclipseFP integrates GHC with an Haskell-aware code editor and also supports quick file browsing through an outline view, automatic building/compiling and quick one-button code execution. Downloads and more information are available on the project home page.
- Class-parameterized classes, and type-level logarithm. Oleg Kiselyov writes: we show invertible, terminating, 3-place addition, multiplication, exponentiation relations on type-level Peano numerals, where any two operands determine the third. We also show the invertible factorial relation. This gives us all common arithmetic operations on Peano numerals, including n-base discrete logarithm, n-th root, and the inverse of factorial. The inverting method can work with any representation of (type-level) numerals, binary or decimal. Oleg says, "The implementation of RSA on the type level is left for future work".
- Fast mutable variables for IO and ST. Bulat Ziganshin released a module for fast mutable variables, providing efficient newVar/readVar/writeVar, as well as support for unboxed values, fast unboxed bitwise operations, and more.
- 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.
This week Isaac Jones announced that the Haskell' standardisation
process is underway. Haskell' will be a conservative refinement of
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:
- The haskell-prime mailing list
- The Haskell' issue tracking system/wiki
- A darcs repository for larger code examples and experiments
Please join us in making Haskell' a success.
- 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
- A Faster Binary. Bulat Ziganshin posted a preliminary optimised Binary library, achieving excellent (de)serialization speeds of around 50 Mb/s in testing.
- 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.
- 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.
- hmp3. Don 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.
- York Haskell Compiler. Thomas Davie announced the York Haskell Compiler project, which already has working code. Quite a few people chimed in with questions.
- 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.
- Time Library 0.2. Ashley Yakeley announced a draft of a new time library and solicited comments.
- Decimal arithmetic library. Jeremy Shaw announced the "premature release" of his new Decimal arithmetic library, which is designed for cases where binary floating point is not acceptable, such as money.
- JRegex. John Meacham announced JRegex, a library that interfaces to both PCRE and Posix regular expressions.
- Haskell XML Toolbox 5.3. Uwe Schmidt announced version 5.3 of the Haskell XML Toolbox. The main changes in this release are improvements to the arrow system.
- PAM 1.0. Henning Guenther announced version 1.0 of his bindings to the PAM authentication libary.
- cpphs 1.0. Malcolm Wallace announced the release of cpphs version 1.0.
- MissingH 0.12.0. John Goerzen announced MissingH 0.12.0, which added various enhancements to its binary I/O utilities.
- The Monad.Reader, Issue 5. Shae Matijs Erisson announced the release of the fifth issue of The Monad.Reader, the online magazine devoted to Haskell. Subjects in this issue include a short introduction to Haskell, generating polyominoes, a ray tracer, number parameterized types, practical graph manipulation, and a short introduction to software testing in Haskell. TMR is available online.
- GHC 6.4.1 for MacOS X. Wolfgang Thaller announced the availability of a binary GHC 6.4.1 package for MacOS X.
- ghc-api 0.1.0. Lemmih announced ghc-api, a cabalization of the GHC 6.5 API. It is currently used by hIDE.
- GHC 6.4.1. According to Simon Marlow's announcement, GHC 6.4.1 is out and is mainly a bugfix release. No library APIs have changed, so code working with GHC 6.4 should continue to work.
- Visual Haskell 0.0. Simon Marlow announced Visual Haskell 0.0, a Haskell development environment for the Microsoft Visual Studio platform.
- CabalFind 0.1. Dimitry Golubovsky announced CabalFind 0.1, an interface to search engines such as Google and Yahoo designed to help find Cabalized packages out on the Internet.
- gtk2hs with Cairo. Duncan Coutts announced a special release of gtk2hs as a "tech preview" of the included Cairo bindings. Some impressive screenshots are in there as well.
- OOHaskell. Ralf Laemmel and Olaf Kiselyov announced a new version of their paper, "Haskell's overlooked object system" and its accompanying library.
- StringMap. Adrian Hey announced his new module, Data.StringMap, which provides mapes from String keys to arbitrary values.
- AVL 2.3. Adrian Hey announced version 2.3 of his Data.Tree.AVL library, adding a few new features and a bit of renaming.
- h4sh 0.2. Don Stewart announced version 0.2 of h4sh, a tool to expose Haskell functions to shell scripters. This release adds more functions, removed argument flags, cabalized the package, added regex operators, and had some other changes as well.
- cabal-get/put beta. Isaac Jones announced the beta of cabal-get, which will download and install Haskell packages and their dependencies. It is designed to work for any cabal-compatible package. The cabal-get team is looking for beta testers to try out both cabal-get and cabal-put.
- FUSE bindings. David Roundy announced bindings for FUSE, the Linux library that lets people develop a filesystem using userspace code. Isaac Jones also mentioned Jeremy Bobbio's FUSE bindings.
- FastPackedString (FPS) packaging. Don Stewart has extracted the FastPackedString module from darcs and produced a standalone package. It is useful for working with binary data and blocks of string data.
- Haskell Server Pages (HASP). Lemmih announced Haskell Server Pages 0.3, an infrastructure for developing dynamic web sites. It's based around XML and the earlier work on HSP.
- Cairo bindings for gtk2hs completed. Paolo Martini announced that the Cairo bindings have been checked into the gtk2hs CVS repo on SourceForge.
- ghc-src 0.2.0. Lemmih announced ghc-src. ghc-src is a Haskell parser with full support for every GHC extension. It is based on the GHC source and is meant as a replacement for haskell-src-exts, though it could of course have other ueses. ghc-src is available via a Darcs repository.
- Cairo binding. Not a formal release, but great progress is being made on the binding to the Cairo vector graphics toolkit, including some working code.
- gtk2hs 0.9.9. Axel Simon announced the latest version of this binding to GTK, primarily containing bugfixes.
- h4sh. Don Stewart announced the new Haskell for shell scripts package. It exposes the Haskell Data.List library for use in shell scripting.
- c2hs 0.14.3. Manuel M. T. Chakravarty released version 0.14.3 of c2hs. Improvements over 0.14.1 include support for cross-compilation, gcc's asm construct, better support for hierarchical module syntax, and new name translation functions.
- magic-haskell. John Goerzen announced the availability of magic-haskell, a binding to C's libmagic. With it, you can determine the type of a file by looking at its contents rather than its name.
- AVL 2.2. Adrian Hey released AVL 2.2. It introduces new set manipulation functions, a new type of zipper, and optimizations for functions that don't modify a tree.
- Haddock Simon Marlow announced the release of Haddock version 0.7. Highlights of this version include improvements for linking across different packages, bug fixes, collapsable trees in HTML, and support for new output formats.
- hsgnutls Einar Karttunen has released hsgnutls 0.1, a Haskell binding for the GnuTLS SSL/TLS library.
- OpenLDAP John Goerzen announced the release of a preliminary, but working, binding to OpenLDAP from Haskell.
- hsffig, a new FFI binding generator, was announced by Dimitry Golubovsky. Download via its Darcs repository. The main unique feature of hsffig is that it can parse C .h files without any human assistance whatsoever. Version 1.0 was also announced just yesterday.
- c2hs version 0.14.1 is out. It has a new parser system and its build system is now based upon Cabal.
- MissingH 0.11.3 is out, and now supports Windows. MissingH is a library of pure-Haskell utility functions relating to strings, logging, and I/O. Darcs repository also available.
- MissingH LGPL/BSD branch was announced. This branch is a stripped-down version of MissingH, with all GPL'd code either re-licensed or removed. It is available from a Darcs repository only.