News from 2007
New Book - Programming in Haskell. Graham Hutton announced a new Haskell textbook: Programming in Haskell. This introduction is ideal for beginner programmers: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics. The presentation is clear and simple, and benefits from having been refined and class-tested over several years.
Gtk2Hs version 0.9.11. Duncan Coutts announced Gtk2Hs - a GUI Library for Haskell based on Gtk+, version 0.9.11, is now available. Gtk2Hs features: automatic memory management; Unicode support; nearly full coverage of Gtk+ 2.8 API; support for several additional Gtk+/Gnome modules (Glade visual GUI builder, cairo vector graphics, SVG rendering, OpenGL extension and more).
cabal-make version 0.1. Conal Elliott announced Cabal-make, a GNU make include file to be used with Cabal in creating and sharing Haskell packages. A few highlights: web-based, cross-package links in Haddock docs; syntax coloring via hscolour, with per-project CSS; links from the Haddock docs to hscolour'd code and to wiki-based user comment pages. It is available here.
Haskell Xcode Plugin. Lyndon Tremblay announced the first release of a plugin for Xcode enabling Haskell syntax highlighting, Xcode projects compiling and linking, and a couple missing features, for Haskell (GHC).
urlcheck 0.1: parallel link checker. Don Stewart announced the first release of urlcheck, an parallel link checker, written in Haskell. Frustrated with the resources and time consumed by 'linkchecker', urlcheck is a lightweight, smp-capable replacement in Haskell. urlcheck pings urls found in the input file, checking they aren't 404s. It uses Haskell threads to run queries concurrently, and can transparently utilise multiple cores if you have them.
The Monad.Reader: call for copy. Wouter Swierstra welcomed articles for the next issue of The Monad.Reader. Submit articles for the next issue by e-mail before April 13th, 2007. Articles should be written according to the guidelines available from The Monad Reader home.
TV-0.2 and GuiTV-0.2. Conal Elliott announced TV, a library for composing tangible values ('TVs'), values that carry along external interfaces. In particular, TVs can be composed to create new TVs, and they can be directly executed with various kinds of interfaces. Values and interfaces are combined for direct use, and separable for composition. GuiTV adds graphical user interfaces to the TV (tangible value) framework, using Phooey. The functionality was part of TV up to version 0.1.1, and is now moved out to a new package to eliminate the dependency of core TV on Phooey and hence on wxHaskell, as the latter can be difficult to install.
Haskell-mode 2.2. Stefan Monnier released version 2.2 of the Haskell-mode package for Emacs. It has very few visible changes, mostly some commands to query an underlying interactive hugs/ghci in order to get type/info about specific identifiers.
Data.CompactString 0.1. Twan van Laarhoven announced a beta Unicode version of Data.ByteString. The library uses a variable length encoding (1 to 3 bytes) of Chars into Word8s, which are then stored in a ByteString.
HSXML version 1.13. Oleg Kiselyov announced version 1.13 of HSXML. HSXML is a library for writing and transforming typed semi-structured data in Haskell -- in S-expression syntax, with the extensible set of `tags', and statically enforced content model restrictions. A particular application is writing web pages in Haskell. We obtain HTML, XHTML or other output formats by running the Haskell web page in an appropriate rendering monad. The benefit of representing XML-like documents as a typed data structure/Haskell code is static rejection of bad documents -- not only those with undeclared tags but also those where elements appear in wrong contexts.
Haskell XML Toolbox 7.1. Uwe Schmidt announced a new version of the Haskell XML Toolbox. The main change is the step from cvs to darcs. The documentation has source links into the darcs repository. A tutorial is available in the Haskell wiki.
OmegaGB, Haskell Game Boy Emulator. Bit Connor announced OmegaGB, an emulator for the Nintendo Game Boy, written in pure Haskell. It uses gtk2hs for the user interface, but there is also a version that doesn't require gtk2hs and uses ascii art. You can find more information about the program at the website.
Takusen 0.6. Oleg and Alistair announced a new release of Takusen, the database library for Haskell. There are a large number of changes and bug-fixes in this release, including improved Oracle and PostgreSQL support.
Buggy nofib. Josep Silva Galiana announced a 'buggy' version of the nofib collection of Haskell programs. All programs contain one of these bugs: a bug that produces an incorrect result; a bug that produces non-termination; a bug that produces an exception (e.g., div by zero). The buggy nofib suite can be used to test debugging tools.
nobench: Haskell implementation shootout. Don Stewart announced nobench, a cross-implementation performance benchmark suite, based on nofib, comparing the performance of various Haskell compilers and bytecode interpreters on a range of programs.
Derangement version 0.1.0. Dennis Griffith announced the initial version of derangement, a library for finding a derangement of a set. A derangement of a set is a permutation with no fixed points, like many constrained matching problems it is susceptible to solution via a Max-flow algorithm.
HSH 1.0.0. John Goerzen announced the first release of HSH. HSH is designed to let you mix and match shell expressions with Haskell programs. With HSH, it is possible to easily run shell commands, capture their output or provide their input, and pipe them to/from other shell commands and arbitrary Haskell functions at will. HSH makes it easy to run shell commands. But its real power is in piping. You can pipe -- arbitrarily -- between external programs, pure Haskell functions, and Haskell IO functions
- 31 of january 2007: The first announced romanian book of Haskell, "Introducere in Haskell 98 prin exemple" (eng: An introduction in Haskell 98 by examples) by Dan Popa from the University of Bacau was published by EduSoft, Bacau, Romania, with a foreword by Simon Peyton-Jones. Details on the ro page. The book is dedicated to the Haskell community. Thank you !
- (somewhere in february 2007) . Lect.Dr. Mihai Gontineac from The Dept.of Math. of the Al.I.Cuza University has also published his book, "Programare Functionala - O introducere utilizand limbajul Haskell" (eng: Functional programming - An introduction using the Haskell language") published by "Editura Alexandru Myller". The book is dedicated to the memory of the father of the author. The Bibliography of the book is containing the title of the G.Hutton's book "Programming in Haskell" declared by Lect.Dr. M.G. as beeing studied on january 31,2007. There is an other article published on 25 of january 2007, too. Thank you !(The release date of 28 of december 2006 according to author's email is unreal.) This indicates the existence of a new community of Haskell users from Iasi, Romania, too.
lhs2tex 1.12. Andres Loeh announced lhs2TeX version 1.12, a preprocessor to generate LaTeX code from literate Haskell sources. lhs2TeX includes the following features: highly customized output; liberal parser; generate multiple versions of a program or document from a single source; active documents: call Haskell to generate parts of the document (useful for papers on Haskell); a manual explaining all the important aspects of lhs2TeX.
hscom. Krasimir Angelov announced the hscom library. This is a FFI library for Microsoft COM. It is far from complete and it doesn't have automatic IDL to Haskell translator but if you have ever thought to start writing you own COM library for Haskell then please take a look. It is designed to be as close as possible to the standard FFI library for C.
DeepArrow 0.0: Arrows for 'deep application'. Conal Elliott announced the birth of DeepArrow, a Haskell library for composable 'editors' of pure values. DeepArrow enables 'deep function application' in two senses: deep application of functions and application of deep functions. These tools generalize beyond values and functions, via the DeepArrow subclass of the Arrow type class.
Phooey 0.1: functional user interface library. Conal Elliott announced version 0.1 of Phooey, an arrow-based functional user interface library. New in version 0.1: documentation, text input, boolean input/output, mtl. Phooey is now used in TV.
TV 0.0: Tangible Values. Conal Elliott announced TV, a library for composing tangible values (TVs): values that carry along external interfaces. In particular, TVs can be composed to create new TVs, and they can be directly executed with a friendly GUI, a process that reads and writes character streams, or many other kinds interfaces. Values and interfaces are combined for direct use, and separable for composability. See the project page.
polyparse 1.00. Malcolm Wallace announced the release of PolyParse, a collection of parser combinator libraries in Haskell. They were all previously distributed as part of HaXml, but are now split out to make them more widely available.
Data.Binary: binary serialisation. The Binary Strike Force announced the release of Binary, a high performance, pure binary serialisation library for Haskell. It is available from Hackage and darcs. The 'binary' package provides efficient serialisation of Haskell values to and from lazy ByteStrings. ByteStrings constructed this way may then be written to disk, written to the network, or further processed (e.g. stored in memory directly, or compressed in memory with zlib or bzlib).
A History of Haskell. Simon Peyton-Jones mentioned that the paper 'A History of Haskell: being lazy with class', authored by Paul Hudak, John Hughes, Phil Wadler and Simon, is finally done. You can get a copy now!
piggybackGHC 0.1. Martin Grabmueller announced the release 0.1 of piggybackGHC, a small utility package for using GHC for lexing and parsing Haskell source code. The library uses the GHC library for all the hard stuff, so all supported GHC extensions are available.
regex-tdfa 0.20. Chris Kuklewicz announced regex-tdfa, a 'tagged' DFA regular expression backend in pure Haskell, along with a suite of updates to the existing regex packages.
hpaste.org. Eric Mertens announced 'hpaste', the Haskell Pastebin. Developed over a few days by many of the members of the Haskell irc channel, it provies a reliable paste bot with Haskell-specific capabilities.
Happy: LALR(1) parser generator. Simon Marlow announced version 1.16 of Happy, the parser generator system for Haskell. Changes from version 1.15 to 1.16 include switching to Cabal, a new %error directive, new production forms, and attribute grammar support. Happy version 1.16 is required for building GHC version 6.6 and later.
rdtsc: reading IA-32 time register. Martin Grabmueller announced version 1.0 of package rdtsc has just been released. This small package contains one module called 'Rdtsc.Rdtsc', providing the function 'rdtsc' for accessing the 'rdtsc' machine register on modern IA-32 processors. This is a 64-bit counter which counts the number of processor cycles since the machine has been powered up. Using this instruction, you can make very precise time measurements which are independent of the actual CPU frequency.
monadLib 3.0. Iavor Diatchki announced a new version of monadLib, a collection of standard monad implementations. Some of the changes compared to the previous version: the whole library is in a single module MonadLib.hs (~500 lines); simpler and more symmetric API; removed the (generic) monadic combinators; removed the search transformer; rewrote some transformers in the 'traditional' way (exceptions and output); there is an optional module that defines base monads corresponding to each transformer.
Shellac 0.6. Robert Dockins announced a simultaneously release of the following related packages: Shellac 0.6 Shellac-readline 0.3 and Shellac-vty 0.1. Shellac is a framework for building read-eval-print style shells which uses configurable backend plugins. The major new feature of this release is the new Shellac-vty backend package, which uses the new Vty library terminal I/O directly. It currently has basic line editing keybindings, paging, and a command history. The main package and Shellac-readline updates consist of minor API updates.
HNOP. Ashley Yakeley updated the status of HNOP, the Haskell library for doing nothing. It has recently been split into two Cabal packages: 'nop', a library of no-op services, and 'hnop', a program that uses nop to do nothing. Both packages can be found in darcs. The two packages are intended to be templates for Cabal projects, so I'm interested in making them as canonical and 'best practices' for packaging libraries and executables.
hscolour-1.6. Malcolm Wallace announced HsColour, a popular syntax-highlighter for Haskell code. It can generate ANSI terminal colour codes, HTML, and CSS, and can insert hyperlink anchors for function definitions (useful in conjunction with Haddock). HsColour-1.6 is now available. The major addition is a new LaTeX output mode.
Dimensional: Statically checked physical dimensions. Björn Buckwalter announced version 0.1 of Dimensional, a module for statically checked physical dimensions. The module facilitates calculations with physical quantities while statically preventing e.g. addition of quantities with differing physical dimensions.
vty 2.0. Stefan O'Rear announced a new major version of vty. Differences from 1.0 include: vty now uses a record type for attributes, instead of bitfields in an Int; vty now supports setting background colors; you can now explicitly specify 'default' colors; vty now supports Unicode characters on output, automatically setting and resetting UTF-8 mode.
'Lambda Revolution' tshirts. Paul Johnson announced the creation of a new Haskell tshirt, on the theme of 'The Lambda Revolution'. Tshirts are available from CafePress, and the designs are freely available.
Archives by year
- 2006 Archives
- 2005 Archives
- 2004 Archives
- 2003 Archives
- 2002 Archives
- 2001 Archives
- 2000 Archives
- 1999 Archives
- 1998 Archives
- 1997 Archives
- 1996 Archives
- 1995 Archives
- 1994 Archives
- 1993 Archives
- 1992 Archives
- 1991 Archives
- 1990 Archives
- 1989 Archives
- 1988 Archives
- 1987 Archives
- 1986 Archives
- 1985 Archives
- 1984 Archives