[Haskell] ANNOUNCE: xmonad 0.3

2007-09-04 Thread Donald Bruce Stewart

The xmonad dev team is pleased to announce the 0.3 release of xmonad. 

xmonad: a tiling window manager
   http://xmonad.org

About:

xmonad is a tiling window manager for X. Windows are arranged
automatically to tile the screen without gaps or overlap, maximising
screen use. All features of the window manager are accessible from the
keyboard: a mouse is strictly optional. xmonad is written and extensible
in Haskell. Custom layout algorithms, and other extensions, may be
written by the user in config files. Layouts are applied dynamically,
and different layouts may be used on each workspace. Xinerama is fully
supported, allowing windows to be tiled on several screens.

Features:

* Very stable, fast, small and simple.
* Automatic window tiling and management
* First class keyboard support: a mouse is unnecessary
* Full support for tiling windows on multi-head displays
* Full support for floating windows
* XRandR support to rotate, add or remove monitors
* Per-workspace layout algorithms
* Per-screens custom status bars
* Easy, powerful customisation and reconfiguration
* Large extension library
* Extensive documentation and support for hacking

Since xmonad 0.2, the following notable features and bug fixes have appeared:

New features:

  * floating layer support: transients windows are not tiled by default,
and windows may be dragged to and from a traditional floating layer
(which allows mouse-resizing, and overlapping windows).

  * improved Xinerama support: workspace switching reuses multiple
displays more effectively.

  * huge new extension library. Over 50 extensions to xmonad have been
contributed by users, and are available all in a standard library,
with documentation.

More information, screenshots, documentation and community resources are
available from:

http://xmonad.org

Xmonad is available from hackage, and via darcs. Happy hacking!

The Xmonad Team:

Spencer Janssen
Don Stewart
Jason Creighton

Xmonad has also received contributions from at least:

Alec Berryman Andrea Rossato Chris Mears
Daniel Wagner David Glasser David Lazar
David Roundy Hans Philipp Annen Joachim Fasting
Joe Thornber Kai Grossjohann Karsten Schoelzel
Michael Sloan Miikka Koskinen Neil Mitchell
Nelson Elhage Nick Burlett Peter De Wachter
Robert Marlow Sam Hughes Shachaf Ben-Kiki
Shae Erisson Simon Peyton Jones Stefan O'Rear

as well as many others on the IRC channel and mailing list. Thanks to everyone!
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: August 07, 2007

2007-08-07 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070807
Issue 64 - August 07, 2007
---

   Welcome to issue 64 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   This issue marks the second anniversary of the Haskell (not quite)
   Weekly News. Thanks to the Haskell community for support, content and
   for reading over the last two years!

   1. http://haskell.org/

Announcements

   OSCON Haskell Tutorial. Simon Peyton-Jones Appeared at the O'Reilly
   Open Source Convention (OSCON) in Portland, delivering a range of
   talks, including [2]A Taste of Haskell, [3]A Keynote on Functional
   Languages, [4]Nested Data Parallelism and [5]Transactional Memory for
   Concurrent Programming. Videos are available for most of these talks:
   [6]A Taste of Haskell: Part 1, [7]A Taste of Haskell: Part 2,
   [8]slides for A Taste of Haskell, [9]Transactional Memory for
   Concurrent Programming and [10]the NDP talk at the London Hugs
   meeting.

   2. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14016
   3. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14773
   4. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14014
   5. http://conferences.oreillynet.com/cs/os2007/view/e_sess/14017
   6. http://blip.tv/file/324976
   7. http://www.blip.tv/file/325646/
   8. http://conferences.oreillynet.com/presentations/os2007/os_peytonjones.pdf
   9. http://www.blip.tv/file/317758/
  10. http://video.google.co.uk/videoplay?docid=370317485066035666

   hpodder 1.0. John Goerzen [11]announced version 1.0.0 of hpodder, the
   command-line podcatcher (podcast downloader) that just happens to be
   written in everyone's favorite language. You can get it [12]here.
   Version 1.0.0 sports a new mechanism for detecting and disabling feeds
   or episodes that repeatedly result in errors, updates to the Sqlite
   database schema, and several bugfixes.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/15452
  12. http://software.complete.org/hpodder

   encoding-0.1. Henning Günther [13]announced the release of 'encoding',
   a Haskell library to cope with many character encodings found on
   modern computers. At the moment it supports (much more is planned):
   ASCII, UTF-8, -16, -32, ISO 8859-* (alias latin-*), CP125* (windows
   codepages), KOI8-R, Bootstring (base for punycode)

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/15481

   Dimensional 0.6: Statically checked physical dimensions. Björn
   Buckwalter [14]announced a library providing data types for performing
   arithmetic with physical quantities and units. Information about the
   physical dimensions of the quantities/units is embedded in their types
   and the validity of operations is verified by the type checker at
   compile time. The boxing and unboxing of numerical values as
   quantities is done by multiplication and division with units.

  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/26944

Hackage

   This week's new libraries in [15]the Hackage library database.

 * hgal-1.0.1. Jean Philippe Bernardy. [16]Computation automorphism
   group and canonical labeling of a graph

 * hpodder-1.0.3. John Goerzen. [17]Podcast Aggregator (downloader)

 * dlist-0.3.1. Don Stewart. [18]Differences lists: a list-like type
   supporting O(1) append

 * pointfree-1.0. Felix Martini. [19]Stand-alone command-line version
   of the point-less plugin for lambdabot

 * encoding-0.1. Henning Guenther. [20]A library for various
   character encodings

 * AppleScript-0.1.3. Wouter Swierstra. [21]Call AppleScript from Haskell

 * SDL-ttf-0.4.0. David Himmelstrup. [22]Binding to libSDL_ttf

 * Finance-Quote-Yahoo-0.2. Brad Clawsie. [23]Obtain quote data from
   finance.yahoo.com

 * xmobar-0.7. Andrea Rossato. [24]A Minimalistic Text Based Status Bar

  15. http://hackage.haskell.org/
  16. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hgal-1.0.1
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hpodder-1.0.3
  18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist-0.3.1
  19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/pointfree-1.0
  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/encoding-0.1
  21. 
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AppleScript-0.1.3
  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SDL-ttf-0.4.0
  23. 
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Finance-Quote-Yahoo-0.2
  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/xmobar-0.7

Conference roundup

   OSCON. Simon Peyton-Jones gave a series of popular talks about Haskell
   and functional programming at OSCON, in Portland. Below are collected
   just some of the posts

[Haskell] ANNOUNCE: Haskell Hackathon 07 II: Freiburg: Oct 5-7

2007-07-16 Thread Donald Bruce Stewart

Hac 2007 II

Haskell Hackathon 2007 II
October 5-7, 2007
Freiburg, Germany

http://haskell.org/haskellwiki/Hac_2007_II


We are pleased to announce the 2nd Haskell Hackathon for 2007!

The event will be held over 3 days, October 5-7 2007, at the 
University of Freiburg, in Germany, after ICFP.

The plan is to hack on serious Haskell infrastructure, tools, libraries
and compilers. To attend please register, and get ready to hack those
lambdas! 

Code to hack on:

* Hackage
* Cabal
* Porting foreign libraries
* Bug squashing
* You decide!

At the last Hackathon, in January at Oxford, resulted in:

* Cabal, Hackage, Haddock improvements
* Data.Binary and DeferedBinary libraries
* GHCi debugger improvements
* ghc-api interface from Emacs
* Crypto lirbary improvments
* A native Haskell 'tar' implementation
* And more

And we hope to be similarly productive this time around.

Before you attend, do start  thinking and familiarising yourself with 1
or 2 projects you wish to work on, to ensure no wasted effort during the
Hackathon. A list of possible projects is available on the website

== Registration:

We ask that you register you interest. Follow the instructions on the
registration page:

http://haskell.org/haskellwiki/Hac_2007_II/Register 

Once you've registered, do add your info to the attendees
self-organising page,

http://haskell.org/haskellwiki/Hac_2007_II/Attendees

if you are looking to share costs, or meet up prior to the hackathon,
with other attendees.

N.B. if you already expressed interest via the wiki, do confirm by
registering `officially' anyway.

== Important dates:

Hackathon:  October 5-7, 2007

== Organisers:

Duncan Coutts
Ian Lynagh
Don Stewart

 With local arrangements courtesy:

Stefan Wehr
Phillip Heidegger
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ANNOUNCE: The Reduceron

2007-05-30 Thread Donald Bruce Stewart
mfn-haskell:
> Dear Haskellers,
> 
> You may be interested in the Reduceron:
> 
>   http://www-users.cs.york.ac.uk/~mfn/reduceron/index.html
> 
> Here is a flavour:
> 
> "The Reduceron is a processor for executing Haskell programs on FPGA
> with the aim of exploring how custom architectural features can
> improve the speed in which Haskell functions are evaluated. Being
> described entirely in Haskell (using Lava), the Reduceron also serves
> as an interesting application of functional languages to the design of
> complex control circuits such as processors.

Wow! Great work.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ST vs State

2007-05-30 Thread Donald Bruce Stewart
federico.squartini:
> Hello dear Haskellers,
> 
> Could someone be kind and explain with some detail what are the
> differences between the two monads:
> 
> Control.Monad.ST
> And
> Control.Monad.State
> ?
> 
> They are both meant to model stateful computation but they are not the
> same monad. The first one represents state with in place update?
> 

Very very different.

The former is for filling memory blocks in a pure manner, the latter
models threaded state.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] New book: Real-World Haskell!

2007-05-23 Thread Donald Bruce Stewart

Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly,
very excited to announce that were developing a new book for O'Reilly, on
practical Haskell programming. The working title is Real-World Haskell.

The plan is to cover the major techniques used to write serious,
real-world Haskell code, so that programmers can just get to work in the
language. By the end of the book readers should be able to write real
libraries and applications in Haskell, and be able to:

* design data structures
* know how to write, and when to use, monads and monad transformers
* use Haskells concurrency and parallelism abstractions
* be able to write parsers for custom formats in Parsec.
* be able to do IO and binary IO of all forms
* be able to bind Haskell to foreign functions in C
* be able to do database, network and gui programming
* know how to do exception and error handling in Haskell
* have a good knowledge of the core libraries
* be able to use the type system to track and prevent errors
* take advantage of tools like QuickCheck, Cabal and Haddock
* understand advanced parts of the language, such as GADTs and MPTCs.

That is, you should be able to just write Haskell!

The existing handful of books about Haskell are all aimed at teaching
programming to early undergraduate audiences, so they are ill-suited to
people who already know how to code. And while theres a huge body of
introductory material available on the web, you have to be both
tremendously motivated and skilled to find the good stuff and apply it
to your own learning needs.

The time has come for the advanced, practical Haskell book.

Heres the proposed chapter outline:

   1. Why functional programming? Why Haskell?
   2. Getting started: compiler, interpreter, values, simple functions, and 
types
   3. Syntax, type system basics, type class basics
   4. Write a real library: the rope data structure, cabal, building projects
   5. Typeclasses and their use
   6. Bringing it all together: file name matching and regular expressions
   7. All about I/O
   8. I/O case study: a DSL for searching the filesystem
   9. Code case study: barcode recognition
  10. Testing the Haskell way: QuickCheck
  11. Handling binary files and formats
  12. Designing and using data structures
  13. Monads
  14. Monad case study: refactoring the filesystem seacher
  15. Monad transformers
  16. Using parsec: parsing a bioinformatics format
  17. Interfacing with C: the FFI
  18. Error handling
  19. Haskell for systems programming
  20. Talking to databases: Data.Typeable
  21. Web client programming: client/server networking
  22. GUI programming: gtk2hs
  23. Data mining and web applications
  24. Basics of concurrent and parallel Haskell
  25. Advanced concurrent and parallel programming
  26. Concurrency case study: a lockless database with STM
  27. Performance and efficiency: profiling
  28. Advanced Haskell: MPTCs, TH, strong typing, GADTs
  29. Appendices

We're seeking technical reviewers from both inside and outside the
Haskell community, to help review and improve the content, with the
intent that this text will become the standard reference for those
seeking to learn serious Haskell. If you'd like to be a reviewer, please
drop us a line at [EMAIL PROTECTED], and let us
know a little about your background and areas of interest.

Finally, a very exciting aspect of this project is that O'Reilly has
agreed to publish chapters online, under a Creative Commons License!
Well be publishing chapters incrementally, and seeking feedback from our
reviewers and readers as we go.

You can find more details and updates at the following locations:

* The web site, http://www.realworldhaskell.org/blog/welcome/
* The authors,  http://www.realworldhaskell.org/blog/about/
* The blog, http://www.realworldhaskell.org/blog/

-- Bryan O'Sullivan, Don Stewart and John Goerzen.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: May 07, 2007

2007-05-06 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070507
Issue 62 - May 07, 2007
---

   Welcome to issue 62 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   This week sees the release of Atom, a hardware description language
   embedded in Haskell, along with the usual suite of new libraries and
   tools. In addition, The Monad.Reader Issue 7 was released, and the
   hackage upload festival continues unabated.

   1. http://haskell.org/

Announcements

   Atom: Hardware Description in Haskell. Tom Hawkins [2]announced the
   release of [3]Atom, a high-level hardware description language
   embedded in Haskell, compiles conditional term rewriting systems into
   conventional HDL.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/15209
   3. http://www.funhdl.org/

   The Monad.Reader: Issue 7. Wouter Swierstra [4]announced the latest
   issue of [5]The Monad.Reader. The Monad.Reader is a quarterly magazine
   about functional programming. It is less-formal than journal, but
   somehow more enduring than a wiki page or blog post.

   4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/22038
   5. http://www.haskell.org/haskellwiki/The_Monad.Reader

   HDBC: Haskell Database Connectivity. John Goerzon [6]announced that
   [7]HDBC 1.1.2 is now released. HDBC provides an abstraction layer
   between Haskell programs and SQL relational databases. This lets you
   write database code once, in Haskell, and have it work with any number
   of backend SQL databases.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/15227
   7. http://software.complete.org/hdbc

   FileManip: Expressive Filesystem Manipulation. Bryan O'Sullivan
   [8]announced the [9]FileManip package provides expressive functions
   and combinators for searching, matching, and manipulating files.

   8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/22090
   9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FileManip-0.1

   photoname: manipulate photos using EXIF data. Dino Morelli
   [10]announced the release of [11]photoname, a command-line utility for
   renaming and moving photo image files. The new folder location and
   naming are determined by two things: the photo shoot date information
   contained within the file's EXIF tags and the usually-camera-assigned
   serial number, often appearing in the filename.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/15187
  11. http://ui3.info/d/proj/photoname.html

   RSA-Haskell: Command-line Cryptography. David Sankel [12]announced the
   release of [13]RSA-Haskell, a collection of command-line cryptography
   tools and a cryptography library written in Haskell. It is intended to
   be useful to anyone who wants to secure files or communications or who
   wants to incorporate cryptography in their Haskell application.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/15207
  13. http://www.netsuperbrain.com/rsa-haskell.html

   Haskell modes for Vim. Claus Reinke [14]summarised the various
   Haskell/Vim support currently available

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/15180

   French Translation of Gentle Introduction to H98. The haskell-fr team
   [15]announced a completed a [16]translation into French of the 'Gentle
   Introduction to Haskell'.

  15. http://article.gmane.org/gmane.comp.lang.haskell.general/15193
  16. http://gorgonite.developpez.com/livres/traductions/haskell/gentle-haskell/

Haskell'

   This section covers the [17]Haskell' standardisation process.

 * [18]Polymorphic strict fields

  17. http://hackage.haskell.org/trac/haskell-prime
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2192

Hackage

   This week's new libraries in [19]the Hackage library database.

  19. http://hackage.haskell.org/

 * BitSyntax-0.2. Adam Langley. [20]A simple function for the
   construction of binary data.

  20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/BitSyntax-0.2

 * filepath-1.0. Neil Mitchell. [21]Library for manipulating
   FilePath's in a cross platform way.

  21. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/filepath-1.0

 * Chart-2007.3.5. Tim Docker [22]A library for generating 2D Charts
   and Plots.

  22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Chart-2007.3.5

 * FileManip-0.1. Bryan O'Sullivan [23]A Haskell library for working
   with files and directories.

  23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/FileManip-0.1

 * hsns-0.5.2. Austin Seipp [24]A network sniffer written in a purely
   fun language.

  24. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hsns-0.5.2

 * template-0.1. Johan Tibell [25]Simple string substitution library
   that 

Re: [Haskell] Haskell fast (?) arrays

2007-05-01 Thread Donald Bruce Stewart
federico.squartini:
> Sorry, I was very silly!
> 
> This is the correct version of the program using the doFromto loop.
> And it runs fast! I hope there are no further mistakes.
> Thanks Axel.
> 
> time ./IOMutUnbUnsafe
> 499
> real  0m0.708s
> user  0m0.573s
> sys   0m0.008s

Here's an improved version, using Foreign.Marshal.Array. I spent about 2
minutes inspecting the core, as well.

Before, with your IOUArray version:

$ time ./T
499
./T  1.46s user 0.02s system 97% cpu 1.515 total

with the new version:

$ time ./S
499
./S  1.15s user 0.01s system 99% cpu 1.168 total

Here's the source, its more idiomatic high-perf Haskell, I'd argue.

Cheers,
  Don




{-# OPTIONS -O2 -optc-O -optc-march=pentium4 -fbang-patterns #-}

import Control.Monad
import Foreign.Marshal.Array
import Foreign

total :: Int
total = 51

type Arr = Ptr Int

testArray :: IO Arr
testArray = do
u <- mallocArray total :: IO Arr
forM_ [0 .. total] $ \i -> pokeElemOff u i ((19*i+23) `mod` 911)
return u

reverseArray :: Arr -> Int -> Int -> IO ()
reverseArray !p !i !j
| i < j = do
x <- peekElemOff p i
y <- peekElemOff p j
pokeElemOff p i y
pokeElemOff p j x
reverseArray p (i+1) (j-1)
| otherwise = return ()

sumArrayMod :: Arr -> Int -> Int -> IO Int
sumArrayMod !p !s !i
| i < total = do
x <- peekElemOff p i
sumArrayMod p ((s + x) `rem` 911) (i+1)
| otherwise = return s

main :: IO ()
main = do
a <- testArray
replicateM_ 120 (reverseArray a 0 (total-1))
print =<< sumArrayMod a 0 0

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell fast (?) arrays

2007-05-01 Thread Donald Bruce Stewart
federico.squartini:
> 
>Of course I know that the list version is very unfair, but I
>wanted to see what was the trade off between elegance and
>speed.
>Regarding whether low level programming makes sense or not,
>I was just curious to see what are the limits of Haskell.
>Moreover there is not much literature on high performance
>Haskell programming (tricks like unsafeWrite), at least
>organized in a systematic and concise way.
>My original problem was writing a  fast library for simple
>matrix computations (i.e. multiplication and inversion for
>small dense matrices).  I have not been able to make
>GSLHaskell work with Lapack so far. :(
>Anyway here are the new versions and timings, I increased
>the number of times the vector is reversed, I also compiled
>everything with -O2.

Probably a good idea to use techniques from Data.ByteString (ie. use
strict Ptr loops, and Foreign arrays), or techniques from the shootout,
if you're chasing C speed. Good examples are:


http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsievebits&lang=ghc&id=4
(mutable bit arrays)


http://shootout.alioth.debian.org/gp4/benchmark.php?test=nsieve&lang=ghc&id=0
(mutable byte (foreign) arrays)


http://shootout.alioth.debian.org/gp4/benchmark.php?test=spectralnorm&lang=ghc&id=4
(more mutable arrays)

When I really really care about speed, I use 

Foreign.Marshal.Array
Data.ByteString

and apply ! patterns liberally, checking the Core output for inner
loops. -O2 -optc-O2 -optc-march=pentium4 often helps.

1-4x C is around what you can best hope for. 10x says "still room for
improvement" in my experience.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Re: Newbie: what are the advantages of Haskell?

2007-04-27 Thread Donald Bruce Stewart
ttmrichter:
> 
>On Fri, 2007-27-04 at 15:37 -0400, Taillefer, Troy (EXP)
>wrote:
> 
> I really enjoy Functional programming (at least until I try to do
> something serious then frustration sets in). I can't produce software
> in a timely and cost effective fashion without a large body of high
> quality, documented and maintained libraries.
> 
> I get the feeling that Haskell is for researchers to explore ideas ab
> out programming in but no one is interested in doing The grind work of
> cranking out useful basic libraries.  I guess you need borrow some of
> those Java Chimps :).
> 
> Am I the only person on the list that feels this way ?

This is why we have:

* hackage.haskell.org, a centralised library repository, with
  documentation and src. note that around 15 new libs are appearing
  each week!

* [EMAIL PROTECTED], for discussing improvements and extensions

* haskell.org/cabal, to ease building new libraries

Feel free to help out!

-- Don

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: April 27, 2007

2007-04-26 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070427
Issue 61 - April 27, 2007
---

   Welcome to issue 61 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   The last week was a very exciting week for the Haskell community, with
   a new GHC release, the first release of Xmonad, a window manager
   written in Haskell, and DisTract, a new distributed bug tracker,
   written in Haskell. A number of new Haskell jobs were announced, and
   several new user groups were formed!

   1. http://haskell.org/

Announcements

   GHC 6.6.1. Ian Lynagh [2]announced a new patchlevel release of GHC.
   This release contains a significant number of bugfixes relative to
   6.6, so we recommend upgrading. Release notes are [3]here. GHC is a
   state-of-the-art programming suite for Haskell. Included is an
   optimising compiler generating good code for a variety of platforms,
   together with an interactive system for convenient, quick development.
   The distribution includes space and time profiling facilities, a large
   collection of libraries, and support for various language extensions,
   including concurrency, exceptions, and foreign language interfaces.

   2. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/12075
   3. http://haskell.org/ghc/docs/6.6.1/html/users_guide/release-6-6-1.html

   Xmonad 0.1. Spencer Janssen [4]announced the inaugural release of
   [5]Xmonad. Xmonad is a minimalist tiling window manager for X, written
   in Haskell. Windows are managed using automatic layout algorithms,
   which can be dynamically reconfigured. At any time windows are
   arranged so as to maximise the use of screen real estate. All features
   of the window manager are accessible purely from the keyboard: a mouse
   is entirely optional. Xmonad is configured in Haskell, and custom
   layout algorithms may be implemented by the user in config files.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/15131
   5. http://xmonad.org/

   DisTract: Distributed Bug Tracker implemented in Haskell. Matthew
   Sackman [6]announced DisTract, a [7]Distributed Bug Tracker. We're all
   now familiar with working with distributed software control systems,
   such as Monotone, Git, Darcs, Mercurial and others, but bug trackers
   still seem to be fully stuck in the centralised model: Bugzilla and
   Trac both have single centralised servers. This is clearly wrong, as
   if you're able to work on the Train, off the network and still perform
   local commits of code then surely you should also be able to locally
   close bugs too. DisTract allows you to manage bugs in a distributed
   manner through your web-browser. The distribution is achieved by
   making use of a distributed software control system, Monotone. Thus
   Monotone is used to move files across the network, perform merging
   operations and track the development of every bug. Finally, the glue
   in the middle that generates the HTML summaries and modifies the bugs
   is written in Haskell.

   6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/21857
   7. http://www.distract.wellquite.org/

   IOSpec 0.1. Wouter Swierstra [8]announced the first release of the
   [9]Test.IOSpec library, that provides a pure specification of some
   functions in the IO monad. This may be of interest to anyone who wants
   to debug, reason about, analyse, or test impure code. Essentially, by
   importing libraries from IOSpec you can the same code you would
   normally write in the IO monad. Once you're satisfied that your
   functions are reasonably well-behaved, you can remove the Test.IOSpec
   import and replace it with the 'real' functions instead.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/15134
   9. http://www.cs.nott.ac.uk/~wss/repos/IOSpec

   wl-pprint-1.0: Wadler/Leijen pretty printer. Stefan O'Rear
   [10]announced wl-pprint-1.0, the classic Wadler / Leijen pretty
   printing combinators, now in 100% easier to use [11]Cabalised form!
   PPrint is an implementation of the pretty printing combinators
   described by Philip Wadler (1997). In their bare essence, the
   combinators of Wadler are not expressive enough to describe some
   commonly occurring layouts. The PPrint library adds new primitives to
   describe these layouts and works well in practice.

  10. http://thread.gmane.org/gmane.comp.lang.haskell.general/15112
  11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/wl-pprint-1.0

   London Haskell User Group. Neil Bartlett [12]announced the first
   meeting of the [13]London Haskell User Group on Wednesday 23rd May
   from 6:30PM. The meeting will be held at City University's main campus
   in central London, and Simon Peyton Jones will be coming to give a
   talk.

  12. http://article.gmane.org/gmane.comp.lang.haskell.

[Haskell] Haskell Weekly News: April 12, 2007

2007-04-11 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070412
Issue 60 - April 12, 2007
---

   Welcome to issue 60 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   With the ICFP deadline passed, your Haskell Weekly News returns to its
   regularly scheduled programming. This week: a truckload of new
   libraries!

   1. http://haskell.org/

Announcements

   ndp-0.1: nested data parallelism in Haskell. Roman Leshchinskiy
   [2]announced the first release of [3]the NDP package, a library for
   writing nested data-parallel programs in Haskell, on shared-memory
   multiprocessors. The NDP library is part of the Data Parallel Haskell
   project. The paper [4]Data Parallel Haskell: a status report describes
   the underlying design and go through an example program.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/15006
   3. http://haskell.org/haskellwiki/GHC/Data_Parallel_Haskell
   4. http://www.cse.unsw.edu.au/~chak/papers/CLPKM07.html

   binary 0.3: bigger, better, faster. Lennart Kolmodin [5]announced
   binary 0.3. The 'binary' package provides efficient serialization 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). It's available [6]through Hackage, or via
   its [7]homepage.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/15044
   6. http://hackage.haskell.org/packages/archive/binary/binary-0.3.tar.gz
   7. http://www.cse.unsw.edu.au/~dons/binary.html

   Text.HTML.Chunks. Matthew Sackman [8]announced the [9]Text.HTML.Chunks
   library, a clone with improvements of the Perl HTML::Chunks module.
   The main achievement is the use of template-haskell to combine the
   template into the code at compile time. This then allows for static
   checking that the variables/fields that the templates are expecting
   are indeed being provided and that the templates the code is trying to
   use do indeed exist. The template is then incorporated within the
   code, removing the dependency on the template.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/15028
   9. http://www.wellquite.org/chunks

   Phooey 1.0 and GuiTV 0.3. Conal Elliott [10]announced a new version of
   Phooey, a library for functional user interfaces. Highlights in this
   release: uses new TypeCompose package, which includes a simple
   implementation of data-driven computation; new Applicative functor
   interface; eliminated the catch-all Phooey.hs module. Now import any
   one of Graphics.UI.Phooey.{Monad ,Applicative,Arrow}; Phooey.Monad has
   two different styles of output widgets, made by owidget and owidget'
   and more. Phooey is also used in GuiTV, a library for composable
   interfaces and 'tangible values'.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/15047

   The real Monad Transformer. Henning Thielemann [11]announced the real
   monad transformer! It has been argued that people avoid Haskell
   because of terms from Category theory like 'Monad'. This problem can
   now be solved by a wrapper which presents all the internet entirely
   without monads! Start [12]the parallel Haskell wiki. Of course the
   tool is written in Haskell, that is, Haskell helps solving problems
   which only exist because of Haskell. Bug reports and feature requests
   can be tracked at [13]here.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/15059
  12. http://tinyurl.com/2e32r4
  13. https://sourceforge.net/projects/parallelweb

   GHC 6.6.1 Release Candidate. Ian Lynagh [14]announced the Release
   Candidate phase for GHC 6.6.1. Snapshots beginning with 6.6.20070409
   are release candidates for 6.6.1. You can download snapshots from
   [15]here.

  14. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11964
  15. http://www.haskell.org/ghc/dist/stable/dist/

   Haskell Cryptographic Library 4.0.3. Dominic Steinitz [16]announced
   the release of a new version of the Haskell Cryptographic Library
   based on the [17]crypto proposal. See [18]the crypto home for more
   details. There is now no dependency on NewBinary. The downside is the
   library contains no support for ASN.1 which will be released in
   separate package.

  16. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6761
  17. http://www.haskell.org/haskellwiki/Crypto_Library_Proposal
  18. http://www.haskell.org/crypto/

   TagSoup library 0.1. Neil Mitchell [19]announced TagSoup, a library
   for extracting information out of unstructured HTML code, sometimes
   known as [20]tag-soup. The HTML does not have to be well formed, or
   render properly within any particular framework. This library is for
   situa

Re: [Haskell] ANNOUNCE: ParseP library 0.1

2007-04-11 Thread Donald Bruce Stewart
twanvl:
> Hi,
> 
> Mostly for fun, and to see how well it would work, I made a 
> generalized/improved variant of the ReadP parser library.
> 
> Unlike ReadP ParseP can handle any type of token, and actually generates 
> error messages in case something goes wrong. It is also possible to use 
> things other then a list as an input stream, for example ByteStrings.
> 
> In addition to the unbiased choice provided by ReadP, and a 'greedy' 
> choice operator similar to the behavior of Parsec (when using try), 
> there is also what I call a 'soft biased' choice. This operator prefers 
> the left alternative, but not if it leads to parse errors later on. For 
> example
>  > runParser ((lit 'a' <<|> return ()) >> lit 'a') "a"
> will not lead to errors, while it would be an error with other biased 
> choice operators.
> 
> An obvious advantage of ParseP over Parsec is that you don't have to 
> mess with 'try'. Also, all alternatives are parsed in parallel, so no 
> backtracking is needed. But I have no idea how the performance would 
> compare in practice.
> 
> Also, I am not to happy about the name, does anyone has any other 
> suggestions?
> 
> Homepage: http://twan.home.fmf.nl/parsep/
> Source:   darcs get http://twan.home.fmf.nl/repos/parsep
> Haddock:  http://twan.home.fmf.nl/parsep/doc/html/
> 
> Twan

Can you upload a tarball of the tagged darcs repo to hackage?

http://hackage.haskell.org/packages/upload.html

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] haskell communities worthy of academic study?

2007-03-31 Thread Donald Bruce Stewart
claus.reinke:
>  installing the extra libraries, other examples include versions of
>  Data.ByteString _not_ based on the famous paper, _not_ supporting
>  essential optimisations, or _not_ supporting API safety fixes). So

Lovely Claus!

Do not despair about ByteStrings though. We plan to update the base
library to the faster, stream-fusible ByteStrings after the ICFP deadline.

We've learnt a few other essential optimisation tricks along the way
too...

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 12, 2007

2007-03-11 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070312
Issue 59 - March 12, 2007
---

   Welcome to issue 59 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   This week we see the 2007 Haskell Workshop announcement, Haskell.org's
   participation in the Google Summer of Code gets underway, and of
   course, new libraries!

   1. http://haskell.org/

Announcements

   Google Summer of Code and Haskell.org. Malcolm Wallace [2]announced
   that Haskell.org has once again applied to be a mentoring organisation
   for the Google Summer of Code. If you are a student who would like to
   earn money hacking in Haskell, or you are a non-student who has a cool
   idea for a coding project but no time to do it yourself, then visit
   the [3]SoC wiki to gather ideas, and add yourself to the list of
   interested people! Add new ideas for projects!

   2. http://article.gmane.org/gmane.comp.lang.haskell.cafe/20232
   3. http://hackage.haskell.org/trac/summer-of-code

   Haskell Workshop Call for Papers. Gabriele Keller [4]announced the
   initial call for papers for the Haskell Workshop 2007, part of the
   2007 International Conference on Functional Programming (ICFP). 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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14977

   Data.CompactString 0.3: Unicode ByteString. Twan van Laarhoven
   [5]announced version 0.3 of the Data.CompactString library.
   Data.CompactString is a wrapper around Data.ByteString supporting
   Unicode strings.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/14973

   harchive-0.2: backup and restore software in Haskell. David Brown
   [6]announced release 0.2 of [7]harchive, a program for backing up and
   restoring data. The package is available [8]from Hackage.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14972
   7. http://www.davidb.org/darcs/harchive/
   8. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/harchive-0.2

   New release of regex packages. Chris Kuklewicz [9]announced new
   versions of the regex-* packages
   (base,compat,dfa,parsec,pcre,posix,tdfa,tre). There is a new [10]wiki
   page with documentation relating to these packages. All packages are
   available from [11]Hackage, under the [12]Text Category.

   9. http://article.gmane.org/gmane.comp.lang.haskell.cafe/20189
  10. http://haskell.org/haskellwiki/Regular_expressions
  11. http://hackage.haskell.org/packages/hackage.html
  12. http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Text

   StaticDTD: type safe markup combinators from DTDs. Marcel Manthe
   [13]announced a tool that transforms a Document Type Definition to a
   library. The resulting library contains combinators that assure proper
   nesting of elements. The plan is to add more constraints that will
   also take care of the order of occurrence of children. The parsing of
   the DTD is done with HaXml. The code is [14]available via darcs.

  13. http://article.gmane.org/gmane.comp.lang.haskell.cafe/20218
  14. http://m13s07.vlinux.de/darcs/StaticDTD/

   IPv6 support for network package. Bryan O'Sullivan [15]announced that
   he'd added IPv6 support to the network package.

  15. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6363

   Type-level binary arithmetic library. Oleg Kiselyov and Chung-chieh
   Shan [16]announced a [17]new library for arbitrary precision binary
   arithmetic over natural kinds. The library supports
   addition/subtraction, predecessor/successor, multiplication/division,
   exp2, full comparisons, GCD, and the maximum. At the core of the
   library are multi-mode ternary relations Add and Mul where any two
   arguments determine the third. Such relations are especially suitable
   for specifying static arithmetic constraints on computations. The
   type-level numerals have no run-time representation; correspondingly,
   all arithmetic operations are done at compile time and have no effect
   on run-time.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/14961
  17. http://pobox.com/~oleg/ftp/Computation/resource-aware-prog/BinaryNumber.hs

Haskell'

   This section covers the [18]Haskell' standardisation process.

 * [19]Deriving Functor

  18. http://hackage.haskell.org/trac/haskell-prime
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/2135

Libraries

   This week's proposals and extensions to the [20]standard libraries.

 * [21]Add IPv6 support to network library
 * [22]Error handling conventions

  20. http://haskell.org/haskellwiki/Library_submis

Re: [Haskell] Type problems

2007-03-11 Thread Donald Bruce Stewart
Dave:
> I am stumped trying to print values returned from IO functions.
> How to print values returned from getEnv and getEnvironment? 
> 

import System.Environment

main = do
args <- getArgs
env  <- getEnvironment
print args
print env

You evaluate the IO action, extracting its result.

$ ./a.out hello
["hello"]

[("PATH","/home/dons/bin:/home/dons/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/home/dons/bin:/sbin:/usr/sbin:/usr/local/sbin")


Note that the do notation is just syntactic sugar for the >>= function,

getArgs >>= \ args ->
getEnvironment >>= \ env ->
print args >>
print env

It's probably a good idea to read up on monadic IO at some point. The best
references are:

http://darcs.haskell.org/yaht/yaht.pdf
http://en.wikibooks.org/wiki/Haskell

Also, a lot of articles here:

http://haskell.org/haskellwiki/Blog_articles

-- Don

P.S. Best asked on the irc channel, you'll get a faster response :-)
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Summer of Code questions

2007-03-08 Thread Donald Bruce Stewart
duncan.coutts:
> On Fri, 2007-03-09 at 00:39 +0100, Wolfgang Jeltsch wrote:
> 
> > > > First, what organization is Haskell.org?
> > >
> > > That would be us, right here.  Anyone who is interested enough in
> > > Haskell to be involved in mailing lists, IRC, distributing library code
> > > and tools, whatever.
> > >
> > > > Is this a real organization, i.e., a legal entity?
> > >
> > > No.  (Unlike e.g. the Apache Foundation.)
> > 
> > Doesn???t this create problems in conjunction with the Summer of Code or is 
> > Google tolerant regarding the legal status of participating organizations?
> 
> 
> It didn't cause any problem last year.

Indeed. The majority of .orgs are ad hoc developer groups. Very few are
actually legal entitites (like Apach or NetBSD).

> > > > What are the obligations of a mentor?
> > >
> > >  (a) To carefully read and vote on quite a lot of student proposals.
> > >  (b) If chosen to mentor a funded project, to guide the student throughout
> > >  the project time, primarily by email (and/or IRC).  Also to write
> > >  two reports on progress (mid-term and final), that directly
> > >  determine whether the student gets paid.
> > 
> > Hmm, I might be able to do (b) but doing (a) seems to demand more time than 
> > I 
> > could spend.  Is there any possibility to only do (b) for a concrete 
> > project 
> > I have in mind?
> 
> I think (b) takes more time actually. You have to be able to be
> available a few hours a week to talk to the student. Over the 3 months,
> that's a good deal more than the few hours spent initially in the
> process of ranking student applications.

If possible, you would be available for daily discussion via irc, or in
person.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 05, 2007

2007-03-04 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070305
Issue 58 - March 05, 2007
---

   Welcome to issue 58 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   1. http://haskell.org/

Announcements

   New Book - Programming in Haskell. Graham Hutton [2]announced a new
   Haskell textbook: [3]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.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/14849
   3. http://www.cs.nott.ac.uk/~gmh/book.html

   Gtk2Hs version 0.9.11. Duncan Coutts [4]announced Gtk2Hs - a GUI
   Library for Haskell based on Gtk+, version 0.9.11, is [5]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).

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14934
   5. http://haskell.org/gtk2hs/download/

   cabal-make version 0.1. Conal Elliott [6]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. [7]It is available here.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14891
   7. http://haskell.org/haskellwiki/Cabal-make

   Vty 3.0.0. Stefan O'Rear [8]announced a new major of [9]vty, featuring
   improved performance. vty is notably used in yi to provide a terminal
   interface supporting syntax highlighting.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14876
   9. http://members.cox.net/stefanor/vty/dist/doc/html/index.html

   Haskell Xcode Plugin. Lyndon Tremblay [10]announced the first release
   of [11]a plugin for Xcode enabling Haskell syntax highlighting, Xcode
   projects compiling and linking, and a couple missing features, for
   Haskell (GHC).

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14875
  11. http://www.hoovy.org/HaskellXcodePlugin/

   urlcheck 0.1: parallel link checker. Don Stewart [12]announced the
   first release of [13]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.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/14863
  13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/urlcheck-0.1

   The Monad.Reader: call for copy. Wouter Swierstra [14]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 [15]The Monad
   Reader home.
   
  14. http://article.gmane.org/gmane.comp.lang.haskell.general/14870
  15. http://www.haskell.org/haskellwiki/TheMonadReader

   TV-0.2 and GuiTV-0.2. Conal Elliott [16]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.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/14862

   Haskell-mode 2.2. Stefan Monnier [17]released version 2.2 of [18]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.

  17. http://article.gmane.org/gmane.comp.lang.haskell.general/14857
  18. http://www.iro.umontreal.ca/~monnier/elisp/

  

Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-27 Thread Donald Bruce Stewart
duncan.coutts:
> On Sun, 2007-02-25 at 18:57 -0800, Stefan O'Rear wrote:
> 
> > Haskell, now:
> >  * Very much slower than C
> >  * Very much easier to use than C
> >  * Very easy to interface with C
> > 
> > So I think we should do the same.  It even shows in the Shootout - the
> > programs that are simultaneously fastest and clearest are not pure
> > Haskell, but delegate their innermost loops to tuned C libraries (FPS
> > and GMP). 
> 
> I should note that FPS is almost completely Haskell code, not C. We use
> C for things like memcmp, memcpy, memset, reverse_copy, intersperse,
> maximum, minimum and count.
> 
> Certainly some of the innards are low level style Haskell, though not
> the kind that could be replicated in C because we use high level
> transformations to fuse loop bodies together and wrap them in high
> performance, low level loop code.
> 
> This is not the style where we just wrap well tuned C code, this is a
> style where we generate high performance low level code from a high
> level spec. This relies on GHC's excellent and programmable optimiser.
> 
> It's wrong to say that the shootout improvements were only down to
> improved libraries. The performance of ByteString code improved very
> significantly between GHC 6.4 and 6.6 and a large part of that was down
> to optimiser improvements (not just the ForeignPtr rep change).
> 

And just to point out that the optimiser is even better in GHC Head.
Thanks Simon!

Here's today's run on an amd64, with GHC 6.6 versus GHC head,

http://www.cse.unsw.edu.au/~dons/nobench/x86_64/results.html

For microbenchmarks, the head is 24% faster, across the whole suite 8%.

Note the bytestring-based program, sum-col, got 40% faster purely due to
improvements in the optimiser!

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-25 Thread Donald Bruce Stewart
fw:
> * John Meacham:
> 
> >> Clean has also declined in these benchmarks but not that much as Haskell.
> >> According to John van Groningen Clean's binary-trees program in the 
> >> previous
> >> shootout version used lazy data structure which resulted in lower memory
> >> usage and much faster execution. That was removed by the maintainer of the
> >> shootout and replaced by a much slower one using strict data structure.
> >
> > Why was this done?
> 
> I suppose the itent of the binary-trees benchmark is to measure
> allocation performance in the presence of a fairly large (well, not in
> today's terms) data structure.  Using laziness to prevent that data
> structure from being built (or use additional sharing) kind of defeats
> the purpose of the benchmark.
> 
> Note that these are microbenchmarks, not real applications.  Imposing
> such rules makes sense.

Agreed. I've submitted a strict variant that should allocate similarly
to OCaml. I'd suggest stating this requirement for strict allocation in
the spec.

Regards,
  Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Checking out the whole source tree

2007-02-12 Thread Donald Bruce Stewart
hoelz:
> I recently checked out the X11 package from darcs.haskell.org, and I'd
> like to check out more of the source from the darcs repository.  I'm
> still unfamiliar with darcs; how do I check out the whole source tree?
> 
> Thanks,
> Rob Hoelz

We're moving from a cathedral to a more distributed distribution model
for packages -- there's not really a 'whole source tree' for Haskell
anymore. However, for GHC and a base set of libraries, you can get 
that source directly by following these instructions:

http://hackage.haskell.org/trac/ghc/wiki/Building/GettingTheSources

Other libraries and tools can be picked up as needed. You'll find
links to these things on hackage, 
http://hackage.haskell.org/packages/archive/pkg-list.html
and on haskell.org's libraries page.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] The meaning of #{}

2007-02-12 Thread Donald Bruce Stewart
hoelz:
> I've been pouring over the Xlib bindings for Haskell, and I've come
> across the following code:
> 
> peekXButtonEvent p = do
> root<- #{peek XButtonEvent,root} p
> subwindow   <- #{peek XButtonEvent,subwindow} p
> time<- #{peek XButtonEvent,time} p
> x   <- #{peek XButtonEvent,x} p
> y   <- #{peek XButtonEvent,y} p
> x_root  <- #{peek XButtonEvent,x_root} p
> y_root  <- #{peek XButtonEvent,y_root} p
> state   <- #{peek XButtonEvent,state} p
> button  <- #{peek XButtonEvent,button} p
> same_screen <- #{peek XButtonEvent,same_screen} p
> return (root, subwindow, time, x, y, x_root, y_root,
> state, button, same_screen)
> 
> I can't seem to find a definition or an explanation for #{}.  Is this
> some kind of operator for dealing with monads or something?

Nope! But nice guess - if in doubt, its probably to do with monads :-)

Its actually hsc2hs preprocessor code,


http://www.haskell.org/ghc/docs/latest/html/users_guide/hsc2hs.html#id3184862

#peek struct_type, field

A function that peeks a field of a C struct will be output. It will have 
the type Storable b =>
Ptr a -> IO b. The intention is that #peek and #poke can be used for 
implementing the operations
of class Storable for a given C struct (see the Foreign.Storable module in 
the library
documentation).


-- Done

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: urlcheck 0.1, (smp) parallel link checker

2007-02-12 Thread Donald Bruce Stewart
This little tool has been kicking around on my harddrive for a month or
two now, so time to release!

I'm pleased to announce the first release of urlcheck, an parallel link
checker, written in Haskell.

Frustrated with the resources and time consumed by 'linkchecker', when
preparing the weekly news, I coded up 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.

Usage:

$ urlcheck urlcheck.html
Found 0 broken links. Checked 10 links (10 unique) in 1 file.
Search time: 5 secs

Get it from Hackage!

http://hackage.haskell.org/cgi-bin/hackage-scripts/package/urlcheck-0.1 

-- Don 

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: January 31, 2007

2007-01-31 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070131
Issue 57 - January 31, 2007
---

   Welcome to issue 57 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   Lots of news to report after a break due to Hac '07 and POPL.

   1. http://haskell.org/

Announcements

   lhs2tex 1.12. Andres Loeh [2]announced lhs2TeX version 1.12, a
   preprocessor to generate LaTeX code from literate Haskell sources.
   [3]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.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/14733
   3. http://www.iai.uni-bonn.de/~loeh/lhs2tex/

   hscom. Krasimir Angelov [4]announced the [5]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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14743
   5. http://darcs.haskell.org/packages/hscom/

   DeepArrow 0.0: Arrows for 'deep application'. Conal Elliott
   [6]announced the birth of [7]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.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14753
   7. http://haskell.org/haskellwiki/DeepArrow

   Phooey 0.1: functional user interface library. Conal Elliott
   [8]announced version 0.1 of [9]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 [10]TV.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14754
   9. http://haskell.org/haskellwiki/phooey
  10. http://haskell.org/haskellwiki/TV

   TV 0.0: Tangible Values. Conal Elliott [11]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. [12]See the project page.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14755
  12. http://haskell.org/haskellwiki/TV

   polyparse 1.00. Malcolm Wallace [13]announced the release of
   [14]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.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/14777
  14. http://www.cs.york.ac.uk/fp/polyparse

   Data.Binary: binary serialisation. The Binary Strike Force
   [15]announced the release of [16]Binary, a high performance, pure
   binary serialisation library for Haskell. It is available from
   [17]Hackage and [18]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).

  15. http://article.gmane.org/gmane.comp.lang.haskell.general/14800
  16. http://www.cse.unsw.edu.au/~dons/binary/Data-Binary.html
  17. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary/0.2
  18. http://darcs.haskell.org/binary

   DrIFT 2.2.1: support for Data.Binary. John Meacham [19]announced that
   [20]DrIFT 2.2.1 is out and now has support for the Data.Binary module.

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/14802
  20. http://repetae.net/~john/computer/haskell/DrIFT/

   A History of Haskell. Simon Peyton-Jones [21]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. [22]You can get a
   copy now!

  21. http://article.gmane.org/gmane.comp.lang.haskell.general/14793
  22. http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm

   piggybackGHC 0.1. Martin Grabmueller [23]announced the release 0.1 of
   [24]piggybackGHC, a small utility package for using

Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-01-26 Thread Donald Bruce Stewart
himself:
> It would be enough to exhaustively analyse examples of the kind I gave:
> single algorithm with fast non-Haskell implementation but very slow in
> Haskell. The article describes laborious but unsuccessful attempt to
> pinpoint what makes Haskell over 500 times slower than SML on a genetic
> algorithm. 7 years have passed and nobody cares.

This is wrong. We do care, greatly.

Efforts are underway right now to improve the output of the native code
generator in GHC, great steps have been made in improving the GHC optimiser
over the last year (Larry Wall mentioned that Pugs compiled under ghc
6.6 ran his perl6 programs 60x faster than under ghc 6.4.2). And
numerous new libraries have appeared to allow for high performance
Haskell without sacrificing clarity. Additionally, we have collected
information on standard approaches to optimising Haskell code on the
wiki under haskell.org/haskellwiki/Performance.

Just yesterday a project was announced to provide cross-compiler
low level benchmarks to help focus performance issues.

The Haskell of 2007 is a very different beast from 2000: its
significatnly eaier to reach OCaml, or even C-like performance, now than
it was even a year ago.  Just introducing a strict, packed string type
makes a huge difference.

Performance concerns are very hot right now in the Haskell community!

And compared to ruby or python we're swimming along ;)
  
> So, for those avoiding fundamental issues I would suggest stretching
> imagination into successors of Wiki and consider something that starts as
> automated online benchmarking. It could:
> (1) initiate research that would answer the questions you asked me:-)
> (2) introduce performance awareness through immediate feedback
> (3) automatically collect test results
> (4) feed databases with classified results and reusable code
> (5) pinpoint bad solutions if combined with inductive database
> (6) evolve into a mighty development platform if combined with prove system.
> (7) in 20 years be referred as Haskell method...

These are all good ideas. Feel free to contribute code! You could start
by modifying the night benchmarks for GHC to include statistics stating
performance changes with respect to previous runs, so we know if things
are getting better or worse.

As a developer of libraries where performance is very important, I know
that once I have performance numbers, I tend to try to make those
numbers smaller! Its good motivation.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ANNOUNCE: binary: high performance, pure binary serialisation

2007-01-25 Thread Donald Bruce Stewart
dons:
> 
> Binary: high performance, pure binary serialisation for Haskell
>  -- 
> 
> The Binary Strike Team is pleased to announce the release of a new,
> pure, efficient binary serialisation library for Haskell, now available
> from Hackage:

Ok, I forgot one point. It is possible to automatically derive instances
of Binary for your custom types, if they inhabit Data and Typeable,
using an SYB trick. Load tools/derive/BinaryDerive.hs into ghci, and
bring your type into scope, then run:

*Main> mapM_ putStrLn . lines $ derive (undefined :: Drinks)

To have the source for the Binary instance for the type Drinks derivied
for you:

*Main> mapM_ putStrLn . lines $ derive (undefined :: Drinks)

instance Binary Main.Drinks where
  put (Beer a) = putWord8 0 >> put a
  put Coffee = putWord8 1
  put Tea = putWord8 2
  put EnergyDrink = putWord8 3
  put Water = putWord8 4
  put Wine = putWord8 5
  put Whisky = putWord8 6
  get = do
tag_ <- getWord8
case tag_ of
  0 -> get >>= \a -> return (Beer a)
  1 -> return Coffee
  2 -> return Tea
  3 -> return EnergyDrink
  4 -> return Water
  5 -> return Wine
  6 -> return Whisky

The use of SYB techniques to provide a 'deriving' script along with a new
typeclass seems to be quite handy.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: binary: high performance, pure binary serialisation

2007-01-25 Thread Donald Bruce Stewart

Binary: high performance, pure binary serialisation for Haskell
 -- 

The Binary Strike Team is pleased to announce the release of a new,
pure, efficient binary serialisation library for Haskell, now available
from Hackage:

 tarball:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary/0.2
 darcs:  darcs get http://darcs.haskell.org/binary
 haddocks:   http://www.cse.unsw.edu.au/~dons/binary/Data-Binary.html

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).

Encoding and decoding are achieved by the functions:

encode :: Binary a => a -> ByteString
decode :: Binary a => ByteString -> a

which mirror the read/show functions. Convenience functions for serialising to
disk are also provided:

encodeFile :: Binary a => FilePath -> a -> IO ()
decodeFile :: Binary a => FilePath -> IO a

To serialise your Haskell data, all you need do is write an instance of
Binary for your type. For example, suppose in an interpreter we had the
data type:

import Data.Binary
import Control.Monad

data Exp = IntE Int
 | OpE  String Exp Exp

We can serialise this to bytestring form with the following instance:

instance Binary Exp where
put (IntE i)  = putWord8 0 >> put i
put (OpE s e1 e2) = putWord8 1 >> put s >> put e1 >> put e2
get = do tag <- getWord8
 case tag of
0 -> liftM  IntE get
1 -> liftM3 OpE  get get get

The binary library has been heavily tuned for performance, particularly for
writing speed. Throughput of up to 160M/s has been achieved in practice, and in
general speed is on par or better than NewBinary, with the advantage of a pure
interface. Efforts are underway to improve performance still further. Plans are
also taking shape for a parser combinator library on top of binary, for bit
parsing and foreign structure parsing (e.g. network protocols).

Several projects are using binary already for serialisation:

lambdabot   : state file serialisation
hmp3: mp3 file database
hpaste.org  : pastes are stored in memory as compressed bytestrings, and
  serialised to disk on MACID checkpoints

Binary was developed by a team of 8 during the Haskell Hackathon, Hac
07, and received 200+ commits over that period. You can see the commit graph
here:

http://www.cse.unsw.edu.au/~dons/images/commits/community/binary-commits.png

The use of QuickCheck was critical to the rapid, safe development of the
library. The API was developed in conjunction with the QuickCheck properties
that checked the API for sanity. We were thus able to improve performance while
maintaining stability. We feel that QuickCheck should be an integral part of
the development strategy for all new Haskell libraries. Don't write code
without it!

Binary is portable, using the foreign function interface and cpp, and is
tested with Hugs and GHC.

Happy hacking!

The Binary Strike Team,

Lennart Kolmodin
Duncan Coutts
Don Stewart
Spencer Janssen
David Himmelstrup
Bjorn Bringert
Ross Paterson
Einar Karttunen

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: January 09, 2007

2007-01-08 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070109
Issue 56 - January 09, 2007
---

   Welcome to issue 56 of HWN, a weekly newsletter covering developments
   in the [1]Haskell community.

   More libraries and applications for the new year, and the Haskell
   Hackathon gets underway!

   1. http://haskell.org/

Announcements

   Happy: LALR(1) parser generator. Simon Marlow [2]announced version
   1.16 of [3]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.

   2. http://article.gmane.org/gmane.comp.lang.haskell.general/14726
   3. http://www.haskell.org/happy/

   Alex: lexical analyser generator. Simon Marlow [4]announced version
   2.1.0 of [5]Alex. Changes in Alex 2.1.0 vs. 2.0.1 include switching to
   Cabal, and slight changes to the error semantics.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14728
   5. http://www.haskell.org/alex/

   rdtsc: reading IA-32 time register. Martin Grabmueller [6]announced
   version 1.0 of [7]package rdtsc has just been released. This small
   package contains one module called [8]'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.

   6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18095/
   7. http://uebb.cs.tu-berlin.de/~magr/projects/rdtsc/
   8. http://uebb.cs.tu-berlin.de/~magr/darcs/rdtsc/

   monadLib 3.0. Iavor Diatchki [9]announced a new version of
   [10]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.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/14714
  10. http://www.csee.ogi.edu/~diatchki/monadLib

   Shellac 0.6. Robert Dockins [11]announced a simultaneously release of
   the following related packages: Shellac 0.6 Shellac-readline 0.3 and
   Shellac-vty 0.1. [12]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 [13]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.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14715
  12. http://www.eecs.tufts.edu/~rdocki01/shellac.html
  13. http://members.cox.net/stefanor/vty/

   IntelliJIDEA for Haskell. Tony Morris [14]announced syntax
   highlighting support for [15]Haskell in IntellijIDEA, released under a
   BSD licence.

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/14719
  15. http://www.workingmouse.com/research/IntelliJIdea%2DHaskell/

   Yampa + GADT for GHC 6.6. Joel Reymont [16]announced a cabalized
   [17]version of Yampa + GADT for GHC 6.6. Joel also sought comments on
   cabalisation, testing and example for this package.

  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18215
  17. http://wagerlabs.com/yampa

   HNOP. Ashley Yakeley [18]updated the status of [19]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.

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/14720
  19. http://semantic.org/hnop/

Haskell'

   This section covers the [20]Haskell' standardisation process.

 * [21]Rough draft of informal pattern-guard (qualifiers) explanations

  20. http://hackage.haskell.org/trac/haskell-prime
  21. http://article.gmane.org/gmane.comp.lang.haskell.prime/1982

Discussion

   instance Monad Set, using GADTs. Roberto Zunino [22]announced a
   definition of the Set datatype, with the usual operations, such that
   it can be made a member of the Monad 

Re: [Haskell] HNOP Status

2007-01-06 Thread Donald Bruce Stewart
ashley:
> For code designed not to do anything, HNOP has high hopes. I have 
> recently split the project 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 this repository:
> 
>   darcs get http://semantic.org/hnop/

Good to know that hnop is still under active development!
 
-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: January 02, 2007

2007-01-01 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20070102
Issue 55 - January 02, 2007
---

   Welcome to issue 55 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   This week brings a new release of vty and HsColour, and some
   interesting discussion over the holiday break.

Announcements

   hscolour-1.6. Malcolm Wallace [1]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 [2]Haddock).
   [3]HsColour-1.6 is now available. The major addition is a new LaTeX
   output mode.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14677
   2. http://haskell.org/haddock
   3. http://www.cs.york.ac.uk/fp/darcs/hscolour

   Dimensional: Statically checked physical dimensions. Bj?rn Buckwalter
   [4]announced version 0.1 of [5]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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14691
   5. http://code.google.com/p/dimensional/

   vty 2.0. Stefan O'Rear [6]announced a new major version of [7]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.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14703
   7. http://members.cox.net/stefanor/vty

   'Lambda Revolution' tshirts. Paul Johnson [8]announced the creation of
   a new Haskell tshirt, on the theme of 'The Lambda Revolution'. Tshirts
   are available from [9]CafePress, and the designs are freely available.

   8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17916
   9. http://www.cafepress.com/l_revolution

Discussion

   Beautiful concurrency. Simon Peyton-Jones [10]mentioned that he's been
   writing a chapter on concurrency and transactional memory for a new
   book, 'Beautiful code'. [11]A first draft is available and Simon
   welcomes constructive suggestions for improvement. The book is aimed
   at a general audience of programmers, not Haskell geeks, so tries to
   explain everything necessary. If you are not a Haskell expert, your
   input would be particularly valuable.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14681
  11. http://haskell.org/haskellwiki/Talk:SantaClausProblem

   Limits to implicit parallelism in functional applications. John
   DeTreville [12]announced a short paper about how much implicit
   parallelism there might be in ordinary functional applications.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/14699

   Inlining higher order functions. Norman Ramsey [13]asked about fine
   grained control for inlining in higher order functions.

  13. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11467

   Red-black trees as a nested datatype. Jim Apple [14]described how to
   implement red-black trees as a nested datatype.

  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17957

   SYB for XML: deserialization and collections. Alexander Jacobson
   [15]asked about approaches to simplifying boilerplate in HAppS
   associated with XML serialization and state deserialization.

  15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17922

   Flattening a lisp-style tree. pphetra [16]asked about flattening
   heterogeneous lists (or trees) in Haskell.

  16. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/17976/focus=17976

Jobs

   Functional programming at Jane Street Capital. Yaron Minsky
   [17]announced that [18]Jane Street Capital is again looking to hire
   some top-notch functional programmers. Of particular note is that Jane
   Street Europe Ltd. now has an office in London, and we are
   particularly interested in hiring someone for that office with strong
   systems administration skills in addition to experience with
   functional programming languages. The ideal candidate has: a
   commitment to the practical, experience with functional programming
   languages (such as Haskell). Applicants should also have experience
   with UNIX and a deep understanding of computers and technology and a
   strong mathematical background.

  17. http://article.gmane.org/gmane.comp.lang.haskell.general/14683
  18. http://www.janestcapital.com/tech.html

Blog noise

   [19]Haskell news from the blogosphere.

 * [20]Secret Santas in Haskell III: Lather, Rinse, Repeat 1
 * [21]More Haskell in Java 7 or 

[Haskell] Haskell Weekly News: December 20, 2006

2006-12-19 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/hwn/20061220
Issue 54 - December 20, 2006
---

   Welcome to issue 54 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   A new release of the Edison data structures library, along with
   several other new libraries, and some new Haskell articles in the
   blogspace.

Announcements

   Edison 1.2.1. Robert Dockins [1]announced the 1.2.1 release of
   [2]Edison. Edison is a famous library of efficient, purely-functional
   data structures in Haskell. Notable changes from the previous version
   include: a new sequence implementation based on finger trees;
   documentation fixes dealing with the licence; added a few methods to
   EnumSet for wrapping and unwrapping the underlying Word

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14662
   2. http://www.eecs.tufts.edu/~rdocki01/

   Basic serialisation library using SYB. Stefan O'Rear [3]announced
   GenericSerialize, [4]a library for serialization using the existing
   generic-programming framework. It is often advocated that support for
   serialization should be added to the compiler (e.g. in the form of a
   deriving(Binary)). With this project Stefan wants to show that the
   existing infrastructure is sufficient, and has some advantages over a
   dedicated serialization interface. GenericSerialize supports multiple
   serialization modes.

   3. http://article.gmane.org/gmane.comp.lang.haskell.general/14656
   4. http://members.cox.net/stefanor/genericserialize

   vty 1.0. Stefan O'Rear [5]announced vty 1.0, a simple [6]terminal
   interface library. It provides: handling of suspend/resume, window
   resizes, computation of minimal differences, minimizes repaint area,
   automatically decodes keyboard keys into (key,modifier) tuples, and
   more!

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/14670
   6. http://members.cox.net/stefanor/vty

   Monad.Reader call for copy. Wouter Swierstra [7]reminded us that its
   still not too late to write something for the next issue of [8]The
   Monad.Reader! We have a nice issue slowly shaping up, but your
   contribution is still very welcome. Get in touch with Wouter if you
   intend to submit something -- the sooner you let him know what you're
   up to, the better.

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/14638
   8. http://www.haskell.org/haskellwiki/TheMonadReader

   Ranged Sets. Paul Johnson [9]announced that Ranged Sets now have a
   Monoid instance, and singletons (i.e. a range holding a single value),
   thanks to Jean-Philippe Bernardy.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/14663

   CalDims 1.0 (RC 1). schneegloeckchen [10]announced CalDims, a
   calculator aware of units. Its available from [11]the Haskell wiki. It
   includes support for user defined basic units and derrived units; user
   defined functions; work sheets can be modified/saved via shell;
   (1/3)*3 == 1 (No rounding errors); built-in feature to simplify units
   and easy unit-conversion.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14671
  11. http://www.haskell.org/haskellwiki/CalDims

   JoinCabal. Dougal Stanton [12]announced an alternative to mkcabal, for
   initialising new cabal projects: [13]JoinCabal, available [14]via
   darcs. JoinCabal will create stub sources files with a license header,
   and appropriate license for you code, making it easier to set up a
   valid cabal build system.

  12. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17600
  13. 
http://brokenhut.no-ip.org/~dougal/cgi-bin/darcsweb.cgi?r=JoinCabal;a=summary
  14. http://brokenhut.no-ip.org/~dougal/darcs/joincabal/

   Haskell Vim plugin. Arthur van Leeuwen [15]announced a new [16]vim
   plugin for Haskell providing some preliminary folding support, easy
   insertion of type signatures into programs, and support for handling
   .hi files.

  15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17675
  16. http://www.cs.uu.nl/~arthurvl/haskell.vba

Haskell'

   This section covers the [17]Haskell' standardisation process.

 * [18]Strictly matching monadic let and overloaded Bool

  17. http://hackage.haskell.org/trac/haskell-prime
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1956/focus=1974

Discussion

   Automonadization of code. Adam Megacz [19]asked if there any work on
   automatic translation of code in some tiny imperative language into
   Haskell code that uses the ST and/or IO monads (or perhaps even pure
   functional code)?

  19. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/17326/focus=17326

   What are the points in pointfree style?. Steve Downey [20]wondered
   about the origin of the term 'points' in pointfree style.

  20. http://thread.gmane.org/gmane.comp.lang.haskell.cafe

[Haskell] Haskell Weekly News: December 12, 2006

2006-12-11 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://sequence.complete.org/
Issue 53 - December 12, 2006
---

   Welcome to issue 53 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   Lots of new, practical Haskell libraries released this week, including
   support for ogg sound file parsing, a new user interface library, ftp
   clients and servers, database bindings as well as config files and
   logging.

Announcements

   Visual Haskell 0.2. Krasimir Angelov [1]announced the final version of
   [2]Visual Haskell 0.2 is available! This is the first version that is:
   available for both VStudio 2003 and VStudio 2005; distributed with a
   stable GHC version (6.6). Additionally the plugin itself is much more
   stable than its first 0.0 version.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14608
   2. http://www.haskell.org/visualhaskell

   Phooey: functional user interfaces for Haskell. Conal Elliott
   [3]announced Phooey, [4]a functional UI library for Haskell. GUIs are
   usually programmed in an 'unnatural' style, in that implementation
   dependencies are inverted, relative to logical dependencies. This
   reversal results directly from the imperative orientation of most GUI
   libraries. While outputs depend on inputs from a user and semantic
   point of view, the imperative approach imposes an implementation
   dependence of inputs on outputs. Phooey ('Phunctional ooser
   ynterfaces') retains the functional style, in which outputs are
   expressed in terms of inputs. In addition, Phooey supports dynamic
   input bounds, flexible layout, and mutually-referential widgets. It is
   [5]available via darcs.

   3. http://article.gmane.org/gmane.comp.lang.haskell.general/14635
   4. http://darcs.haskell.org/packages/phooey/doc
   5. http://darcs.haskell.org/packages/phooey

   HOgg 0.2.0. Conrad Parker [6]announced HOgg 0.2.0. The [7]HOgg package
   provides a commandline tool for manipulating Ogg files, and a
   corresponding Haskell library. This is the initial public release. The
   focus is on correctness of Ogg parsing and production. The
   capabilities of the hogg commandline tool are roughly on par with
   those of the [8]oggz* tools, although hogg does not yet provide an
   equivalent to oggz-validate. HOgg supports chained and multiplexed Ogg
   bitstreams conformant with [9]RFC3533. HOgg can parse headers for
   CMML, FLAC, OggPCM, Speex, Theora and Vorbis media codecs, and can
   read and write Ogg Skeleton bitstreams.

   6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/17102
   7. http://snapper.kfish.org/~conrad/software/hogg/
   8. http://www.annodex.net/software/liboggz/index.html
   9. http://www.ietf.org/rfc/rfc3533.txt
  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14610

   ftphs. John Goerzen [10]announced ftphs, [11]an FTP client and server
   library for Haskell. Its features include: easy to use operation; full
   support of text and binary transfers; optional lazy interaction;
   server can serve up a real or a virtual filesystem tree; Standards
   compliant. ftphs was previously a part of the MissingH library. The
   code in this release is unchanged from its state in MissingH, other
   than the changes necessary to make it a standalone package.

  11. http://software.complete.org/ftphs

   AnyDBM 1.0.0. John Goerzen [12]announced AnyDBM, a generic DBM-type
   interface. [13]AnyDBM provides a generic infrastructure for supporting
   storage of hash-like items with String-to-String mappings. It can be
   used for in-memory or on-disk storage. Two simple backend drivers are
   included with this package: one that is RAM-only, and one that is
   persistent and disk-backed. The hdbc-anydbm package provides another
   driver, which lets you use simple tables in any SQL database to
   provide a DBM-like interface. MissingPy also provides a Python driver
   which lets you use any Python anydbm driver under Haskell AnyDBM.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/14613
  13. http://software.complete.org/anydbm

   ConfigFile 1.0.0. John Goerzen [14]announced ConfigFile, a parser and
   writer for handling sectioned config files in Haskell. The
   [15]ConfigFile module works with configuration files in a standard
   format that is easy for the user to edit, easy for the programmer to
   work with, yet remains powerful and flexible. It is inspired by, and
   compatible with, Python's ConfigParser module. It uses files that
   resemble Windows .INI-style files, but with numerous improvements.

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/14612
  15. http://software.complete.org/configfile

   hslogger. John Goerzen [16]announced hslogger, a logging framework for
   Haskell. [17]hslogger's features include: each log message has a
   priority and a sourc

Re: [Haskell] [newbie]any nice code to read?

2006-12-11 Thread Donald Bruce Stewart
notyycn:
> 
>hello,all,
> 
>   I am new to haskell,and have read some tutorial, but I
>would like to read some "real" code from "real" haskell
>project, I believe this will help me study and use haskell
>quickly.
> 
>  would anyone please give me some suggestion about
>opensource project that a new haskell user should study?

Visit:
http://haskell.org

And click on 'Example code'

Also, new user questions are best asked on the haskell-cafe@haskell.org
mailing list.

Cheers,
  Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: dlist, difference lists supporting O(1) append

2006-12-10 Thread Donald Bruce Stewart
This is DList, 0.1

I've cabalised, and packed up a small difference lists module. In case
you've not used them, they are a Haskell idiom for implementing O(1)
append and snoc, using functions to represent lists.

I use them from time to time, and thought it a good idea to finally pack
them into a library for all to share.

Home:   http://www.cse.unsw.edu.au/~dons/dlist.html
Docs:   http://www.cse.unsw.edu.au/~dons/dlist/Data-DList.html
Source: http://www.cse.unsw.edu.au/~dons/code/dlist/

I've also described the entire process of releasing this library here:

http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/11#release-a-library-today 

Cheers,
   Don

P.S. If you love Haskell, you'll write a library today!
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: December 05, 2006

2006-12-04 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 52 - December 05, 2006
---

   Welcome to issue 52 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   This week we see the 11th Haskell Communities and Activities Report
   released, Visual Haskell 0.2 is available, and a suite of new
   libraries and applications are announced.

Announcements

   Communities and Activities Report. Andres Loeh [1]published the
   [2]Haskell Communities and Activities Report (11th edition, November
   2006). The report is now available from the Haskell Communities home
   page in several formats. The goal of the report is to improve the
   communication between the increasingly diverse groups, projects and
   individuals working on, with, or inspired by Haskell. When we try for
   the next update, six months from now, you might want to report on your
   own work, project, research area or group as well.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14545
   2. http://www.haskell.org/communities/

   Visual Haskell prerelease 0.2. Krasimir Angelov [3]announced that
   there is a prerelease version of Visual Haskell [4]available. This is
   the first version that is: available for both VStudio 2003 and VStudio
   2005, and distributed with a stable GHC version (6.6)

   3. http://thread.gmane.org/gmane.comp.lang.haskell.general/14527/focus=14527
   4. http://www.haskell.org/visualhaskell

   Haskell MIME library. Jeremy Shaw [5]announced the availability of a
   MIME processing library. This library is supposed to be able to parse
   emails and decode various attachments, and generate emails with
   attachments. [6]The library includes modules that implement portions
   of: RFC 2045, RFC 2046, RFC 2387 and RFC 2822.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/14555
   6. http://www.n-heptane.com/nhlab/repos/haskell-mime

   Core (ghc-base) library. Bulat Ziganshin [7]announced progress on the
   Core library project, to divide the Haskell base library into two
   parts: small compiler-specific one (the Core library proper) and the
   rest: new, compiler-independent Base library that uses only services
   provided by Core lib.

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/14546

   hpodder 0.99.0. John Goerzen [8]announced hpodder 0.99.0, the first
   beta candidate for making an eventual 1.0.0 release of hpodder.
   [9]hpodder is a podcast downloader that happens to be written in
   Haskell. This version introduces two major new features: nicer
   apt-like output and multithreaded downloading.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14533/
   9. http://quux.org/devel/hpodder

   MissingH 0.16.3. John Goerzen [10]released MissingH 0.16.3. Including
   a new module MissingH.ProgressTracker which tracks the progress of
   long-running tasks, and MissingH.Quantity which renders numbers
   according to a quantification system such as SI or binary.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14532

   The restricted IO monad. Stefan O'Rear [11]introduced RIO, an
   experimental library for extensible restricted IO in Haskell.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14526

   Typed symbolic differentiation. Oleg Kiselyov [12]showed symbolic
   differentiation of a wide class of numeric functions without any
   interpretative overhead. The functions to symbolically differentiate
   can be given to us in a compiled form (in .hi files); their source
   code is not needed. We produce a (compiled, if needed) function that
   is an exact, algebraically simplified analytic derivative of the given
   function. Our approach is reifying code into its `dictionary view',
   intensional analysis of typed code expressions, and the use of staging
   to evaluate under lambda.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/14566

Haskell'

   This section covers the [13]Haskell' standardisation process.

 * [14]Standard (core) libraries initiative: rationale
 * [15]Character literal question

  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://article.gmane.org/gmane.comp.lang.haskell.prime/1919
  15. http://article.gmane.org/gmane.comp.lang.haskell.prime/1942

Libraries

   This week's proposals and extensions to the [16]standard libraries.

 * [17]Data.List documentation improvements

  16. http://haskell.org/haskellwiki/Library_submissions
  17. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5902/focus=5902

Discussion

   The Data.Array.* hierarchy is unsafe: segfaulting for fun and profit.
   Spencer Janssen [18]revealed that a malicious Ix instance can be used
   to create segfaulting array programs in pure Haskell (under GHC or
   Hugs), without the use of anything marked 'unsafe'. 

Re: [Haskell] ANNOUNCE: Another Haskell MIME Library

2006-12-02 Thread Donald Bruce Stewart
taralx:
> On 12/2/06, Jeremy Shaw <[EMAIL PROTECTED]> wrote:
> >In any case, I wanted to release this library now since I know other
> >people are already duplicating some (all?) of the work :) I am quite
> >happy to accept patches. If someone else has a better code base
> >already, I am happy to jump ship and work on that code instead.
> 
> WASH has one, and I uploaded mine to http://www.taral.net/mime.tar.gz
> for people to look at and use.

Are these now documented on haskell.org's libraries page?
http://haskell.org/haskellwiki/Libraries_and_tools

Under:
http://haskell.org/haskellwiki/Libraries_and_tools/Network

or a new category for Language.* 's?

If its not on the libraries page, people won't know about it...

-- Don

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: November 28, 2006

2006-11-27 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 51 - November 28, 2006
---

   Welcome to issue 51 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   Automated testing fever strikes the camp, with three new
   QuickCheck-related libraries and tools released.

Announcements

 * QuickCheck 2 development version. Bjorn Bringert [1]announced that
   the development version of QuickCheck 2 is now available in a
   public darcs repository. Highlights of the new QuickCheck version
   include: shrinking of failing test cases; supports testing monadic
   code; handles exceptions gracefully; coarbitrary has moved to a
   separate class; type-level modifiers for changing test data
   generation (e.g. NonNegative); function table printing; and
   user-defined actions when properties fail. The source is
   [2]available via darcs.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14511
   2. http://www.cs.chalmers.se/~bringert/darcs/QuickCheck/

 * PQC: QuickCheck in the Age of Concurrency. Don Stewart
   [3]announced PQC: Parallel QuickCheck. [4]PQC provides a single
   module: [5]Test.QuickCheck.Parallel. This is a QuickCheck driver
   that runs property lists as jobs in parallel, and will utilise as
   many cores as you wish, with the SMP parallel GHC 6.6 runtime. It
   is simple, scalable replacement for Test.QuickCheck.Batch.

   3. http://article.gmane.org/gmane.comp.lang.haskell.general/14503
   4. http://www.cse.unsw.edu.au/~dons/pqc.html
   5. http://www.cse.unsw.edu.au/~dons/pqc/Test-QuickCheck-Parallel.html

 * cabal-test: automatic testing for Cabal projects. David
   Himmelstrup [6]announced cabal-test, the automatic tester for
   Cabal projects. The cabal-test tool is capable of testing embedded
   QuickCheck properties in any and all cabalized projects. The tests
   are currently executed in parallel with PQC. QuickCheck properties
   can reside anywhere in the code and don't have to be exported. The
   [7]darcs repo is available.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14519
   7. http://darcs.haskell.org/~lemmih/cabal-test

 * Streams 0.1.7. Bulat Ziganshin [8]announced Streams version 0.1.7,
   a fast extensible [9]I/O and serialization library. Changes
   include: GHC 6.6 support, support for files larger than 4G on
   Windows, haddock documentation.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14504
   9. http://haskell.org/haskellwiki/Library/Streams

 * Ranged Sets 0.0.3. Paul Johnson [10]announced the 0.0.3 release of
   [11]Ranged Sets. Ranged sets allow programming with sets of values
   described by a list of ranges. A value is a member of the set if
   it lies within one of the ranges. The ranges in a set are ordered
   and non-overlapping, so the standard set operations can be
   implemented by merge algorithms in O(n) time.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14492/
  11. http://ranged-sets.sourceforge.net/Ranged/

 * Type-class overloaded functions. Oleg Kiselyov [14]presented
   functions polymorphic over classes of types. Each instance of such
   (2-polymorphic) function uses ordinary 1-polymorphic methods, to
   generically process values of many types, members of that
   2-instance type class. The typeclass constraints are thus
   manipulated as first-class entities. We also show how to write
   typeclass instances with back-tracking: if one instance does not
   apply, the typechecker will chose the `next' instance -- in the
   precise meaning of `next'.

  14. http://thread.gmane.org/gmane.comp.lang.haskell.general/14482/focus=14483

 * Cabal mode for emacs. Matthew Danish [15]released a small (and
   developing) major mode for editing Cabal files in emacs.

  15. http://mapcar.org/haskell/cabal-mode/

 * YCR2JS Programmers Guide Draft. Dimitry Golubovsky [16]announced
   the draft of low-level [17]programming guide for Yhc Core to
   Javascript converter. Everyone interested in future use of this
   tool is encouraged to read and review the Guide. Its purpose is to
   give some ideas about interaction of Haskell programs converted
   into Javascript with a web browser on the lowest possible level,
   without application frameworks and support libraries (just because
   these haven't been developed).

  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/16764
  17. http://haskell.org/haskellwiki/Yhc/Javascript/Programmers_guide

 * NeHe Tutorials in Haskell. Jason Dagit [18]announced the
   availability of the (somewhat) famous NeHe tutorials for OpenGL
   have been ported to HOpenGL. A [19]dar

[Haskell] ANNOUNCE: PQC: QuickCheck in the Age of Concurrency

2006-11-23 Thread Donald Bruce Stewart

PQC: QuickCheck in the Age of Concurrency

An SMP parallel QuickCheck driver


Do you:

* Have (or want) lots of QuickCheck properties? 
* Run them often (maybe on every darcs commit)? 
* Tired of waiting for the testsuite to finish? 
* Got a multi-core box with cpus sitting idle...? 

Yes? You need Parallel QuickCheck! 

PQC provides a single module: Test.QuickCheck.Parallel.  This is a
QuickCheck driver that runs property lists as jobs in parallel, and will
utilise as many cores as you wish, with the SMP parallel GHC 6.6
runtime. It is simple, scalable replacement for Test.QuickCheck.Batch.

An example, on a 4 cpu linux server, running 20 quickcheck properties.

With 1 thread only:
$ time ./a.out 1
1: sort1: OK, 1000 tests.
1: sort2: OK, 1000 tests.
1: sort3: OK, 1000 tests.
1: sort4: OK, 1000 tests.
...
./a.out 1 > x  18.94s user 0.01s system 99% cpu 18.963 total

18 seconds, 99% cpu. But I've got another 3 2.80GHz processors sitting
idle! Let's use them, to run the testsuite faster. No recompilation 
required.

4 OS threads, 4 Haskell threads:
$ time ./a.out 4 +RTS -N4 > /dev/null
./a.out 4 +RTS -N4 > /dev/null  20.65s user 0.22s system 283% cpu 7.349 
total

283% cpu, not bad. We're getting close to being limited by the
length of the longest running test.

Or on a dual core macbook, thanks to Spencer Janssen for macbook data
and testing:

1 thread:
./Example 1 
17.256s

2 threads:
./Example 2 +RTS -N2 
10.402s

Get it!

Homepage: http://www.cse.unsw.edu.au/~dons/pqc.html
Haddocks: http://www.cse.unsw.edu.au/~dons/pqc/
Example : http://www.cse.unsw.edu.au/~dons/code/pqc/examples/Example.hs

darcs get http://www.cse.unsw.edu.au/~dons/code/pqc

Happy, quick checking,
   Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: November 22, 2006

2006-11-22 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 50 - November 22, 2006
---

   Welcome to issue 50 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   This week a new release of the Haskell XML Toolbox, and details for
   the inaugural Haskell Hackathon are announced. And the HWN half
   century of issues is on the board!

Announcements

 * Haskell XML Toolbox 7.0. Uwe Schmidt [1]released a new version of
   the [2]Haskell XML Toolbox. New in 7.0 is a module for XSLT
   transformation. The XSLT module implements most of the XSLT
   standard. The development of the XSLT module is done by Tim
   Walkenhost in his master thesis, describing the design of the
   transformer (and the limitations) is included in the distribution.
   HXT 7.0 works with ghc-6.4 and ghc-6.6. [3]A tutorial is available
   in the Haskell wiki.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14487
   2. http://www.fh-wedel.de/~si/HXmlToolbox/index.html
   3. http://www.haskell.org/haskellwiki/HXT

 * Hac: Haskell Hackathon 2007. The Hac organisers [4]announced that
   the inaugural Haskell Hackathon, [5]Hac 2007, will be held at
   Oxford University Computing Laboratory, January 10-12, 2007. The
   plan is to hack on Haskell infrastructure, tools, libraries and
   compilers. To attend please register, and get ready to hack those
   lambdas!

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14489
   5. http://haskell.org/haskellwiki/Hac_2007

 * System.FilePath 0.11. Neil Mitchell [6]announced the release of
   [7]System.FilePath 0.11, a library for manipulating FilePath's
   correctly on both Posix and Windows.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14485
   7. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath

 * Darcs release candidate. Tommy Pettersson [8]announced it's time
   for a new darcs release candidate, 1.0.9rc2. There will probably
   be yet another release candidate (rc3) before final 1.0.9. Get
   testing!

   8. http://article.gmane.org/gmane.comp.version-control.darcs.devel/5010

 * Safe library 0.1. Neil Mitchell [9]announced the release of
   [10]Safe library, 0.1. People often have a problem with pattern
   match errors, and the only helpful message they get is: 'pattern
   match error'. The Safe library hopes to eliminate some of the
   frustration this causes by providing versions of these partial
   functions with more helpful error messages.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/14475
  10. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#safe

 * LocH, located errors 0.1. Don Stewart [11]announced the release of
   LocH, a small Haskell module providing source location-specific
   error messages and debugging strings for Haskell code. It uses the
   compiler-expanded 'assert' token, rather than cpp or m4, to
   provide a lightweight approach to generating source locations. No
   preprocessor is required. More information is available at [12]the
   LocH site, including [13]API documentation.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14475
  12. http://www.cse.unsw.edu.au/~dons/loch.html
  13. http://www.cse.unsw.edu.au/~dons/loch/Debug-Trace-Location.html

 * Starting your own Haskell project. Jason Dagit and Don Stewart
   [14]expanded on the document describing how best to [15]set up a
   new Haskell project, leading to the creation of [16]mkcabal,a new
   tool for setting up cabalised Haskell projects.

  14. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16689/focus=16689
  15. http://haskell.org/haskellwiki/How_to_write_a_Haskell_program
  16. http://article.gmane.org/gmane.comp.lang.haskell.cabal.devel/269

Haskell'

   This section covers the [17]Haskell' standardisation process.

 * [18]Defaults
 * [19]Pattern guards and where clauses

  17. http://hackage.haskell.org/trac/haskell-prime
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1907/focus=1907
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1904/focus=1904

Libraries

   This week's proposals and extensions to the [20]standard libraries.

 * [21]Add parsing (and some other changes) to the time package

  20. http://haskell.org/haskellwiki/Library_submissions
  21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5706

Discussion

 * New Arrows tutorial. Tim Newsham [22]wrote a small arrows
   tutorial, and is looking for feedback.

  22. http://www.thenewsh.com/~newsham/x/arrow.txt

 * Yhc.Core backends for Haskell/Javascript/C. Neil Mitchell
   [23]asked about the direction the Yhc Core backends should take.

  23.

[Haskell] ANNOUNCE: Haskell Hackathon, Hac 07

2006-11-21 Thread Donald Bruce Stewart

Hac 2007

The 2007 Haskell Hackathon
January 10-12, 2007

Oxford University Computing Laboratory 
http://haskell.org/haskellwiki/Hac_2007


Following the success of the GHC Hackathon at ICFP, we are pleased to announce
the inaugural Haskell Hackathon, Hac 2007! 

The event will be held over 3 days, January 10-12 2007, at the Oxford
University Computing Laboratory, in the UK.

The plan is to hack on Haskell infrastructure, tools, libraries and compilers.
To attend please register, and get ready to hack those lambdas! 

Code to hack on:

* Hackage
* Cabal
* Porting foreign libraries
* Porting compilers
* Bug squashing
* Performance improvements to compilers
* You decide!

Registration:

We ask that you register you interest. Follow the instructions on the
registration page:

http://haskell.org/haskellwiki/Hac_2007/Registration

Numbers for the hackathon are limited to 20, due to room size constraints. 
Should space be available after the registration period ends, additional
attendees may register on a first-come first-served basis.

Important dates:

Registration deadline:  December 6th,  2006
Confirmation:   December 10th, 2006
Hackathon:  January 10-12, 2007

Organisers:

Duncan Coutts
Ian Lynagh
Don Stewart
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: LocH, source locations in error, trace, and exceptions

2006-11-14 Thread Donald Bruce Stewart
The topic of improving exception diagnosis in Haskell is hot at the
moment, and I'm pleased to announce the release of LocH, a small Haskell
module providing source location-specific error messages and debugging
strings for Haskell code. 

It uses the compiler-expanded 'assert' token, rather than cpp or m4, to
provide a lightweight approach to generating source locations. No
preprocessor is required. The code is available under a BSD license.

The LocH home:
http://www.cse.unsw.edu.au/~dons/loch.html

The API:
http://www.cse.unsw.edu.au/~dons/loch/Debug-Trace-Location.html

Example usage:

import Debug.Trace.Location

main =
trace assert "Starting ..." $ do
print 1
trace assert "Finished" $ do
print 2
let x = check assert $ head ([] :: [Int])
print x

Will produce:

$ ./a.out 
A.hs:4:10-15: Starting ...
1
A.hs:6:10-15: Finished
2
a.out: A.hs:8:18-23: Prelude.head: empty list

LocH provides located versions of trace, failure, as well as check and checkIO
to wrap exception-throwing pure and IO code.

May all your exceptions be located,
Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: November 14, 2006

2006-11-13 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 49 - November 14, 2006
---

   Welcome to issue 49 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   This week we see the announcement of a Haskell to Javascript compiler
   project, and the overhaul of GHC's typeclass machinery is complete.

Announcements

 * Compiling Haskell to Javascript: YCR2JS. Dimitry Golubovsky
   [1]announced Ycr2js, a sub-project within the [2]York Haskell
   Compiler (Yhc) project. It is aimed to create a tool to convert an
   arbitrary Haskell program into Javascript which in turn may be
   executed in any Web browser. With great amount of help from the
   Yhc Team, the converter has been integrated into the Yhc project,
   and initial stage of coding and development has been completed.
   [3]More documentation.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14471
   2. http://darcs.haskell.org/yhc
   3. http://haskell.org/haskellwiki/Yhc/Javascript

 * System.FilePath 0.10. Neil Mitchell [4]announced System.FilePath
   0.10, which hopefully is pretty close to final. [5]This library
   manipulates FilePath's correctly on both Posix and Windows.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14467
   5. http://www-users.cs.york.ac.uk/~ndm/projects/libraries.php#filepath

 * Major typeclass overhaul. Simon Peyton-Jones [6]mentioned that for
   some time he has been promising an overhaul of GHC's type
   inference machinery to fix the interactions between type classes
   and GADTs. This overhaul has now been completed, and user-visible
   changes are summarised, including: GHC's type inference becomes
   complete, the restriction that every constraint in a type
   signature must mention at least one of the quantified type
   variables is lifted, dictionaries are packaged in data
   constructors and the proper interaction between GADTs and type
   classes is now respected.

   6. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11192

 * Implementing the lambda calculus. Lennart Augustsson [7]wrote
   about implementing interpreters for the lambda-calculus in
   Haskell, to [8]experiment with different implementation methods.

   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/16490
   8. http://darcs.augustsson.net/Darcs/Lambda/

 * Great language shootout: reloaded. Don Stewart [9]mentioned that
   now [10]GHC 6.6 is available on the shootout machines, the time
   has come to improve the existing [11]language shootout entries.
   Improvements can be posted to the [12]wiki for review.

   9. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16454/focus=16454
  10. http://haskell.org/ghc
  11. http://shootout.alioth.debian.org/
  12. http://www.haskell.org/haskellwiki/Great_language_shootout

Haskell'

   This section covers the [13]Haskell' standardisation process.
 * [14]Overloading string literals
 * [15]Annotation systems

  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1882/focus=1882
  15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1889/focus=1889

Libraries

   This week's proposals and extensions to the [16]standard libraries.
 * [17]Adding Kleisli composition to Control.Monad
 * [18]Add ranged sets
 * [19]Add unsafeCoerce

  16. http://haskell.org/haskellwiki/Library_submissions
  17. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5640/focus=5640
  18. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5635/focus=5635
  19. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5611/focus=5611

Discussion

 * Choosing a Haskell GUI library. Bulat Ziganshin [20]asked for
   advice on which Haskell gui library to use. Several suggestions
   were made.

  20. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16497/focus=16497

Conference roundup

   Asian Symposium on Programming Languages and Systems (APLAS 2006)

 * Type Processing by Constraint Reasoning. Peter Stuckey. [21]Paper.

 * Principal Type Inference for GHC-Style Multi-Parameter Type
   Classes. Martin Sulzmann, Tom Schrijvers and Peter J Stuckey.
   [22]Paper.

 * Automatic Testing of Higher Order Functions. Pieter Koopman and
   Rinus Plasmeijer. [23]Paper.

  21. http://www.cs.mu.oz.au/~pjs/papers/aplas06i.pdf
  22. http://www.comp.nus.edu.sg/~sulzmann/publications/ghc-mptc-inf.ps
  23. 
http://www.st.cs.ru.nl/papers/2006/koop2006-TestingOfHigherOrderFunctionsAPLAS.pdf

Jobs

 * Research position in spatial cognition (Haskell-related). Till
   Mossakowski [24]announced the availability of a Doctoral Research
   Assistant / Postdoctoral Resea

[Haskell] Haskell Weekly News: November 08, 2006

2006-11-07 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 48 - November 08, 2006
---

   Welcome to issue 48 of HWN, a weekly newsletter covering developments
   in the Haskell community.

Announcements

 * SmallCheck 0.2. Colin Runciman [1]announced that SmallCheck 0.2, a
   lightweight testing library for Haskell, is out, and can be
   [2]obtained. Since version 0.1: there's now a choice of
   interactive or non-interactive test-drivers using iterative
   deepening; more pre-defined test-data generators, including
   revised Int, Integer, Float, Double, Nat and Natural and
   additional examples. SmallCheck is similar to QuickCheck but
   instead of testing for a sample of randomly generated values,
   SmallCheck tests properties for all the finitely many values up to
   some depth, progressively increasing the depth used.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14461
   2. http://www.cs.york.ac.uk/fp/smallcheck0.2.tar

 * Hoogle Command Line 3 Beta. Neil Mitchell [3]released Hoogle
   Command Line version 3 Beta, an alternative to [4]the Hoogle
   website. Hoogle lets you search for Haskell functions by name and
   by type signature.

   3. http://article.gmane.org/gmane.comp.lang.haskell.general/14464
   4. http://haskell.org/hoogle

 * The Monad.Reader. Wouter Swierstra [5]issued a call for
   submissions for articles for the next issue of [6]The
   Monad.Reader. There are a large number of conferences and journals
   that accept research papers related to Haskell; unfortunately, the
   platform for non-academic publications is far less developed. This
   is where The Monad.Reader fits in. So if you are tossing around
   some ideas, write it up, and submit! Deadline for submissions is
   January 19th, 2007.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/14449
   6. http://www.haskell.org/haskellwiki/TheMonadReader

 * Haskell Communities and Activities Report. Andres Loeh [7]reminded
   us that the deadline for the November 2006 edition of the Haskell
   Communities and Activities Report is now! -- there may still be
   just enough time to make sure that the report contains a section
   on *your* project, on the interesting stuff that you've been
   doing; using or affecting Haskell in some way. For more info see
   [8]the call for contributions.

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/14453
   8. http://www.haskell.org/pipermail/haskell/2006-October/018646.html

 * HsMan. Frederik Eaton [9]announced hsman, a tool that indexes
   Haddock-generated HTML files, and allows users to search for
   functions and also GHC manual topics.

   9. 
http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/11153/focus=11153

 * HaL, Haskell meeting in Leipzig. Johannes Waldmann [10]announced
   that a local Haskell meeting is to take place on December 5th in
   Leipzig, Germany. The meeting will be hosted by IBA Consulting. It
   will be quite informal, with some very short talks (most probably
   in German). Interessenten sind herzlich eingeladen. [11]Details
   and (free) registration.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14454
  11. http://iba-cg.de/haskell.html

Haskell'

   This section covers the [12]Haskell' standardisation process.
 * [13]Introduce lambda-match (explicit match failure and fall-through)
 * [14]Importing and exporting instance declarations
 * [15]Patches!

  12. http://hackage.haskell.org/trac/haskell-prime
  13. http://article.gmane.org/gmane.comp.lang.haskell.prime/1847
  14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1835/focus=1835
  15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1850/focus=1850

Libraries

   This week's proposals and extensions to the [16]standard libraries.
 * [17]unsafeShift operations for Data.Bits
 * [18]map* for Data.List
 * [19](*) `on` f = \x y -> f x * f y
 * [20]forkChild, waitForChild, parIO, timeout
 * [21]isLeft and isRight

  16. http://haskell.org/haskellwiki/Library_submissions
  17. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5569/focus=5569
  18. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5552/focus=5552
  19. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5519/focus=5519
  20. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5488/focus=5488
  21. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5461/focus=5461

Discussion

 * The OI comonad. Sven Biedermann [22]invoked a discussion about the
   OI [23]comonad, and provided an example of a simple OI-comonad for
   stdin/stdout only, that preserves referential integrity.

  22. http://threa

Re: [Haskell] Local Haskell meeting in Leipzig/Germany 5 December

2006-11-03 Thread Donald Bruce Stewart
waldmann:
> We're planning a local Haskell meeting on December 5th
> in Leipzig, Germany. The meeting will be hosted by IBA Consulting.
> It will be quite informal, with some very short talks
> (most probably in German). Interessenten sind herzlich eingeladen.
> Details and (free) registration: http://iba-cg.de/haskell.html

Cool!

Would you like to add this to the 'Events' page on haskell.org?

http://haskell.org/haskellwiki/Events

I'd like to encourage people organising Haskell events, to also add them
to haskell.org. It's a great way to publicise the growing number of
community events that are occuring.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: October 31, 2006

2006-10-30 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 47 - October 31, 2006
---

   Welcome to issue 47 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   This week we see a number of community documentation and maintenance
   efforts, and the appearance of indexed data types in GHC

Announcements

 * Associated data types in GHC. Manuel Chakravarty [1]announced the
   availability of indexed data types, an extension of our earlier
   proposal for [2]associated data types, in GHC's development
   version. Detailed information on where to get the right GHC and
   how to use indexed types is available from [3]the Haskell wiki.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14447
   2. http://www.cse.unsw.edu.au/~chak/papers/CKPM05.html
   3. http://haskell.org/haskellwiki/GHC/Indexed_types

 * Yhc Bytecode library 0.3. Robert Dockins [4]announced the release
   of the [5]Yhc Bytecode library, version 0.3.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14434
   5. http://www.eecs.tufts.edu/~rdocki01/yhc-bytecode.html

 * Haskell Program Coverage. Andy Gill [6]checked the latest version
   of HPC, with GHC support, into the head GHC branch

   6. http://www.galois.com/~andy/ray/hpc.html

 * Haskell Mersenne Twister. Lennart Augustsson [7]made available his
   Haskell implementation of the Mersenne Twister random number
   generator.

   7. http://www.augustsson.net/Darcs/MT/

 * Haskell-specific Google Search Engine. Don Stewart [8]initialised
   a Haskell-specific search engine, as part of Google's coop engine
   system, which seems to do a good job of targeting just Haskell
   sites, in particular, mailing list items

   8. http://www.google.com/coop/cse?cx=015832023690232952875%3Acunmubfghzq

 * A process for submitting library extensions. The libraries hackers
   [9]have developed [10]a document describing how to best go about
   contributing new code to the core Haskell libraries. On a similar
   note, the GHC team has prepared [11]a page on best practice for
   GHC submissions.

   9. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5368
  10. http://haskell.org/haskellwiki/Library_submissions
  11. http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions

 * How to create a Haskell project. Don Stewart and Ian Lynagh
   [12]prepared some guidelines on starting your own Haskell project.

  12. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16164/focus=16164

Haskell'

   This section covers the [13]Haskell' standardisation process.
 * [14]Lambda-match vs PMC
 * [15]Indentation of If-Then-Else
 * [16]Digit groups

  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1815/focus=1815
  15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1791/focus=1791
  16. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1763/focus=1781

Discussion

 * Haskell Quiz/Ruby Quiz. Haskell Hackers [17]have started recording
   Ruby Quiz solutions on the Haskell wiki. Lots of fun puzzles are
   available, and its a useful resource if you're learning the
   language.

  17. http://haskell.org/haskellwiki/Haskell_Quiz

 * Infinite, open, statically constrained HLists. Oleg Kiselyov
   [18]described heterogeneous sequences that admit infinite
   sequences and permits post-hoc addition of new elements, even to
   an already infinite sequence.

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/14424

 * Lexically scoped type variables: new proposal. Ben Rudiak-Gould
   [19]made a new for scoped type variables.

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/14429

 * Simple GADT parser for the eval example. Greg Buchholz [20]sought
   advice on creating evaluators with GADTs

  20. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16178/focus=16178

 * Package mounting. Frederik Eaton [21]proposed an alternative
   [22]design for package mounting extensions to the package system.

  21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5389
  22. http://hackage.haskell.org/trac/ghc/wiki/PackageMounting

 * Function types as instances of Num. Greg Buchholz [23]had an
   interesting problem using functions as instances of Num

  23. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16129/focus=16129

 * Yhc Core file generation. Neil Mitchell [24]suggested that it was
   time to start taking YHC Core output a bit more seriously, and
   made some proposals.

  24. http://thread.gmane.org/gmane.comp.lang.haskell.yhc/397/focus=397

 * Parallelism in GHC 6.6 and seq vs. pseq. Simon Marlow [25]noticed
   that

[Haskell] Haskell Weekly News: October 24, 2006

2006-10-23 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 46 - October 24, 2006
---

   Welcome to issue 46 of HWN, a weekly newsletter covering developments
   in the Haskell community.

Announcements

 * MissingH 0.16.0. John Goerzen [1]announced that the latest version
   of MissingH is now available. MissingH is a suite of 'missing'
   library functions. New features include: render numbers as binary
   units, a progress tracker, turn QuickCheck tests into HUnit tests,
   and GHC 6.6 support.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14400

 * SMP parallel Pugs on GHC. Audrey Tang [2]announced that parallel
   support, on top of GHC's new SMP runtime system, has been added to
   Pugs, the standard bearer [3]Perl6 implementation.

   2. http://thread.gmane.org/gmane.comp.lang.haskell.general/14402/focus=14402
   3. http://pugs.blogs.com/pugs/2006/10/smp_paralleliza.html

 * YAHT is now a part of the wikibook. Eric Kow [4]announced that the
   famous 'Yet Another Haskell Tutorial' has been imported into
   [5]the Haskell wikibook. Let the great Haskell Remix begin!

   4. http://koweycode.blogspot.com/2006/10/yaht-badly-imported.html
   5. http://en.wikibooks.org/wiki/Haskell

Haskell'

   This section covers the [6]Haskell' standardisation process.

 * [7]Pattern guards
 * [8]Standard syntax for preconditions, postconditions, and invariants
 * [9]Indentation of If-Then-Else
 * [10]Module imports anywhere

   6. http://hackage.haskell.org/trac/haskell-prime
   7. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1750/focus=1750
   8. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1773/focus=1773
   9. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1763/focus=1763
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1764/focus=1764

Discussion

 * Ruby puzzles. Jim Burton [11]mentioned that he was working on the
   [12]Ruby quiz puzzles in Haskell -- an interesting exercise.

  11. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16056/focus=16056
  12. http://www.rubyquiz.com/

 * DeepSeq and parallel strategies. Chad Scherrer [13]started a bit
   of a discussion about the connection between the deepSeq function,
   and Control.Parallel.Strategies.rnf

  13. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16047/focus=16047

 * Type level functions. Oleg Kiselyov [14]described how to use type
   level programming to create a type of constrained lists.

  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15978

 * Extending the core libraries. Josef Svenningsson [15]started a
   largish thread on adding a concat.intersperse function to the base
   library, leading to an interesting discussion on whether the time
   has come for an formal process for extending core libraries.

  15. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5280/focus=5280

 * data Void. Conor McBride [16]proposed adding the type with no
   inhabitants other than _|_ to the core libraries.

  16. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/5321/focus=5321

Blog noise

   [17]Haskell news from the blogosphere.

 * [18]Optimus prime is actually dead, or, monadic transformers
 * [19]Haskell, PDF and penrose tilings
 * [20]Not everyone can dine at the Beverly Hills Social Club of 
Programming Languages
 * [21]Would you like a side of referential transparency with your order..
 * [22]John Baez on lambda calculus and games
 * [23]Monads: a field guide
 * [24]Catch+YHC beats GHC

  17. http://planet.haskell.org/
  18. http://brokenhut.livejournal.com/172054.html
  19. http://www.alpheccar.org/en/posts/show/57
  20. http://sequence.complete.org/node/215
  21. 
http://weblog.raganwald.com/2006/10/would-you-like-side-of-referential.html
  22. 
http://wadler.blogspot.com/2006/10/john-baez-on-lambda-calculus-and-games.html
  23. http://sigfpe.blogspot.com/2006/10/monads-field-guide.html
  24. http://neilmitchell.blogspot.com/2006/10/30-faster-than-ghc.html

About the Haskell Weekly News

   Each week, new editions are posted to [25]the Haskell mailing list as
   well as to [26]the Haskell Sequence and [27]Planet Haskell. [28]RSS is
   also available, and headlines appear on [29]haskell.org.

   The Haskell Weekly News is also [30]available in Spanish translation.

   To help create new editions of this newsletter, please see the
   [31]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

  25. http://www.haskell.org/mailman/listinfo/haskell
  26. http://sequence.complete.org/
  27. http://planet.haskell.org/
  28. http://sequence.complete.org/node/feed
  29. http://h

[Haskell] Haskell Weekly News: October 19, 2006

2006-10-19 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 45 - October 19, 2006
---

   Welcome to issue 45 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   A big week, with a swag of new releases, including the long awaited
   GHC 6.6.

Announcements

 * GHC version 6.6. The GHC Team [1]announced a new release of GHC!
   There have been many changes since the 6.4.2 release. For details,
   see [2]the release notes. Binary builds, source and packages are
   all found at [3]GHC's home.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14367/
   2. http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html
   3. http://www.haskell.org/ghc/

 * Haddock version 0.8. Simon Marlow [4]announced Haddock 0.8,
   including: cabalisation, Hoogle support, image inclusion. [5]Read
   more.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14358/
   5. http://www.haskell.org/haddock

 * Pugs 6.2.13 released. Audrey Tang [6]announced that after nearly
   four months of development and 3400+ commits, [7]Pugs 6.2.13, the
   leading Perl6 implementation written in Haskell, is now available.

   6. http://pugs.blogs.com/pugs/2006/10/pugs_6213_relea.html
   7. http://pugscode.org/

 * STM invariants and exceptions. Tim Harris [8]announced that new
   transactional memory features have been committed to GHC. The main
   change is to add support for dynamically checked data invariants
   of the kind described in [9]this paper (pdf). There are two
   operations: always X :: STM Bool -> STM () and alwaysSucceeds X ::
   STM a -> STM (). More details in [10]here (pdf).

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14356/
   9. http://research.microsoft.com/~tharris/papers/2006-transact.pdf
  10. http://research.microsoft.com/~tharris/papers/2005-ppopp-composable.pdf

 * Cabal version 1.1.6 is now available. Duncan Coutts [11]announced
   that [12]Cabal, the common architecture for building applications
   and libraries, version 1.1.6 is now available. It is included in
   GHC version 6.6.

  11. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5228/
  12. http://haskell.org/cabal/

 * Fun in the Afternoon: Thurs 16th Nov in Oxford. Jeremy Gibbons
   [13]announced that he, Graham Hutton and Conor McBride at
   Nottingham are organizing a seminar, [14]Fun in the Afternoon, on
   functional programming and related topics. The idea is to have a
   small number of talks as an antidote to mid-term blues, three
   afternoons a year. The hope is that talks will be informal and
   fun, and that there will be plenty of scope for discussion and
   chat as well. Looks fun!

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/14373/
  14. http://sneezy.cs.nott.ac.uk/fun/

 * HC&A Call for Contributions. Andres Loeh [15]asked for
   contributions towards the 11th [16]Haskell Communities &
   Activities Report, a bi-annual overview of the state of Haskell as
   well as Haskell-related projects of all flavours.

  15. http://article.gmane.org/gmane.comp.lang.haskell.general/14384/
  16. http://www.haskell.org/communities/

 * Generic Haskell version 1.60 (Diamond). Utrecht's Generic Haskell
   Team [17]announced a new release of [18]Generic Haskell, an
   extension of Haskell that facilitates generic programming. Generic
   Haskell includes: type-indexed values and type-indexed types. The
   Generic Haskell compiler takes Generic Haskell source and produces
   Haskell code. This release adds support for Generic Views.

  17. http://article.gmane.org/gmane.comp.lang.haskell.general/14374/
  18. http://www.generic-haskell.org/

 * Streams 0.1 available for GHC 6.6. Bulat Ziganshin [19]announced
   that the Streams 0.1 library is now compatible GHC 6.6.

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/14383/

Haskell'

   This section covers the [20]Haskell' standardisation process.

 * [21](Pattern) Guards in lambdas

  20. http://hackage.haskell.org/trac/haskell-prime
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1750/focus=1750

Discussion

 * GADT terminology. Oleg Kiselyov [22]argued that the term GADT
   should be reserved for truly generalised algebraic data types, and
   not just normal data types written in GADT syntax.

  22. http://thread.gmane.org/gmane.comp.lang.haskell.general/14363/focus=14363

 * Extended functionality for record field accessors. Henning
   Thielemann [23]proposed some record system extensions.

  23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15944/

Jobs

 * Senior Back-end Web Application Developer. Lime Wire. [24]PhD a
   plus, ext

[Haskell] Haskell Weekly News: October 10, 2006

2006-10-09 Thread Donald Bruce Stewart

---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 44 - October 10, 2006
---

   Welcome to issue 44 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   Developments this week include Lennart Kolmodin's new inotify bindings
   for Haskell, work begins on Spanish translations of Haskell
   literature, and new versions of Darcs and Cabal are tagged

Announcements

 * hinotify 0.1. Lennart Kolmodin [1]announced hinotify 0.1, a
   library to [2]inotify which has been part of the Linux kernel
   since 2.6.13. inotify provides file system event notification,
   simply add a watcher to a file or directory and get an event when
   it is accessed or modified. [3]API and [4]source.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14345/
   2. http://www.kernel.org/pub/linux/kernel/people/rml/inotify/
   3. http://haskell.org/~kolmodin/code/hinotify/docs/api/
   4. http://haskell.org/~kolmodin/code/hinotify/

 * Monad Transformer Tutorial. Martin Grabmueller [5]published a
   small tutorial on using monad transformers. In contrast to others
   approaches, it concentrates on using them, not on their
   implementation. [6]PDF and Literate Haskell source available.

   5. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15714
   6. http://uebb.cs.tu-berlin.de/~magr/pub/Transformers.en.html

 * Speaking Haskell in Spanish. Luis Araujo [7]announced [8]a project
   to make Haskell documentation more available to Spanish speakers.
   The idea is to [9]collect information in Spanish about Haskell,
   including news and tutorials, and to translate [10]Haskell wiki
   pages.

   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15713/
   8. http://haskell.org/haskellwiki/Haskell.es
   9. http://www.haskell.org/haskellwiki/Haskell.es
  10. http://haskell.org/haskellwiki/Special:Popularpages

 * Haskell Packages 6.6. Isaac Jones [11]announced that the Cabal
   package tools for Haskell are in a good state, with almost 30
   packages already in [12]the database. Time to start testing
   packages, starting with the cabal release candidate that'll go
   into GHC 6.6, to make sure they work nicely together!

  11. http://article.gmane.org/gmane.comp.lang.haskell.cabal.devel/175
  12. http://hackage.haskell.org/packages/

 * Cabal-1.1.6 release candidate. Duncan Coutts [13]released a
   tarball for the next 1.16 Cabal release candidate. Let's get this
   tested before GHC 6.6 arrives!

  13. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5213/

 * Darcs 1.0.9 release candidate. Tommy Pettersson [14]announced the
   first release candidate for next stable [15]darcs, 1.0.9rc1. This
   will mainly be a bug fix version to get things right that got
   wrong or didn't get right in 1.0.7 and 1.0.8, but there are some
   new features and optimizations too.

  14. http://article.gmane.org/gmane.comp.version-control.darcs.user/10332
  15. http://darcs.net/

 * Haskell and Vim. Marc Weber [16]wrote some Vim scripts to ease
   various Haskell coding tasks in Vim.

  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15707

Haskell'

   This section covers the [17]Haskell' standardisation process.
 * [18]Status report
 * [19]Stand-alone deriving declarations (part 1)
 * [20]Stand-alone deriving declarations (part 2)

  17. http://hackage.haskell.org/trac/haskell-prime
  18. http://hackage.haskell.org/trac/haskell-prime/wiki/Status'
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1717/focus=1717
  20. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1726/focus=1726

Discussion

 * Allowing both prefix unary minus and right section subtraction.
   Michael Shulman [21]described a technique for writing operators
   that can be used both as infix or postfix operators, using the new
   postfix support in GHC 6.6.

  21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15710/

 * Google Summer of Code Summit and Haskell. Don Stewart [22]sought
   feedback on this year's Google Summer of Code Haskell projects, in
   preparation for Haskell.org's attendance at the Google SoC Summit.

  22. http://article.gmane.org/gmane.comp.lang.haskell.general/14339/

 * GHC under Wine. Robert Marlow [23]described his experience setting
   up GHC under Wine to produce Windows binaries from Linux.

  23. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/10857

 * Function lists and arguments. Joel Koerwer [24]described a puzzle
   to try to apply a function of type a function of type (a -> a ->
   ... -> a -> a), to a list of arguments of the same length.
   [25]Some solutions were suggested.

  24. http://thread.gmane.org/gmane.

[Haskell] Summer of Code Summit and Haskell

2006-10-03 Thread Donald Bruce Stewart
Hey all,

The Google Summer of Code is now wrapping up, and Haskell.org's projects
have been quite successful. The full details will available soon in a
report we're preparing (next week some time), though quite likely you
have already seen the various student projects previously announced to
the community. 

As part of the analysis of this year's SoC, Google is holding a Summer
of Code summit, at Google Headquarters, next weekend. The purpose of the
summit is to bring together mentors from successful organizations to
discuss how to improve the GSoC, and how Google can do more for open
source development.

Two representatives of the Haskell.org Summer of Code mentors have been
chosen by the Haskell SoC team to represent the SoC effort, and the
community at large, at this event: Shae Erisson and myself. We'll be
attending the 1 day summit, and plan to present a short, focused talk
introducing Haskell, and describing how the distributed, open source
community around Haskell has been built.

As part of this, we're seeking the community's advice and ideas on how
well the Haskell community "works" as a (somewhat anarchic)
organisation, how we're progressing, what things have been done well,
and what needs to be done better. Also, for those who were involved with
the Summer of Code, whether as mentors or students, how could that be
improved from the Haskell community's point of view?

The best way to contribute would be to email your thoughts to us directly.

Cheers,
  Don Stewart & Shae Erisson
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: October 03, 2006

2006-10-03 Thread Donald Bruce Stewart

---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 43 - October 03, 2006
---

   Welcome to issue 43 of HWN, a weekly newsletter covering developments
   in the Haskell community.

   The proceedings of the first Haskell Workshop are now available
   online, and work has begun on a unified library for generics in
   Haskell.

Announcements

 * Proceedings Haskell Workshop 1995. Henrik Nilsson [1]announced
   that in celebration of the 10th [2]Haskell Workshop that took
   place recently, the proceedings of the very first Haskell
   workshop, in La Jolla 1995, have now been made available on [3]the
   Haskell Workshop home page. Thanks to Paul Hudak for help locating
   the proceedings and arranging for them to be scanned into PDF.

   1. http://article.gmane.org/gmane.comp.lang.haskell.general/14312/
   2. http://haskell.org/haskell-workshop
   3. http://haskell.org/haskell-workshop/1995

 * Common library for generic programming. Johan Jeuring and Andres
   Loeh [4]announced an initiative to design a common library for
   generic programming, which should work together with most of the
   Haskell compilers, and for which they hope to guarantee support
   for generics in Haskell into the future. If you want to get
   involved (or just want to see the discussion), you can subscribe
   to [5]the generics mailing list. Check the [6]Haskell research
   wiki for some background on generics.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/14304/
   5. http://www.haskell.org/mailman/listinfo/generics
   6. http://haskell.org/haskellwiki/Research_papers/Generics

 * GHC 6.6 Second Release Candidate. Ian Lynagh [7]announced that the
   Second Release Candidate phase for GHC 6.6 is underway. Get
   testing!

   7. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/10823

 * Lazy functional language for the JVM. Luke Evans [8]announced that
   the research group at Business Objects has developed a lazily
   evaluated, strongly-typed language called CAL, with many
   similarities to Haskell, targeting the JVM, to facilitate
   representing certain kinds of business logic as reusable,
   composable pieces.

   8. http://thread.gmane.org/gmane.comp.lang.haskell.general/14296/

Haskell'

   This section covers the [9]Haskell' standardisation process.

 * [10]Pattern guards
 * [11]Improving pattern guard syntax

   9. http://hackage.haskell.org/trac/haskell-prime
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1680/focus=1680
  11. http://article.gmane.org/gmane.comp.lang.haskell.prime/1704

Discussion

 * Typeclass versus Prolog programming. Oleg Kiselyov [12]wrote
   further on the connection between typeclass hacking and logic
   programming.

  12. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/15401/

 * Irrefutable patterns for existential types. Several Haskellers
   [13]discussed, in a long thread, issues relating to irrefutable
   patterns when combined with existentials or GADTs. [14]Read more.

  13. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/15564/
  14. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/15633/

 * GHC on the Mac. Simon Peyton-Jones [15]sought contributors to help
   maintain [16]GHC on the Mac.

  15. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/10801/
  16. http://haskell.org/ghc

 * Smallest Double. Tamas Papp [17]initiated a thread regarding
   finding the smallest Double such that 1+x /= x, for a numerics
   problem.

  17. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/15573/focus=15573

 * Migrating content to the new wiki. Ian Lynagh [18]forced an action
   to finally close down the old hawiki, and move all content to the
   new haskell wiki. Work to be done is [19]here.

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/14314
  19. http://www.haskell.org/haskellwiki/HaWiki_migration

Blog noise

   Haskell news from the blogosphere.

 * [20]Functional programming for the rest of us
 * [21]Coming soon: Perl 6
 * [22]Arrows, like monads, are monoids
 * [23]OOP is dead

  20. http://www.defmacro.org/ramblings/fp.html
  21. http://www.samag.com/documents/s=10093/sam0609j/0609j.htm
  22. http://lambda-the-ultimate.org/node/1750
  23. http://kawagner.blogspot.com/2006/08/oop-is-dead-part-2.html

Quotes of the Week

 * Bill Wood: It became obvious that when a Prolog program is tuned
   by removing non-determinism it moves towards a functional program.

 * Bjarne Stroustrup: Any verbose and tedious solution is error-prone
   because programmers get bored. [S 9.4 of C++, 2nd edition]

 * Hamilton Richards: It's fair to say that functional programming
   r

[Haskell] Haskell Weekly News: September 27, 2006

2006-09-26 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 42 - September 27, 2006
---

   Welcome to issue 42 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each week, new editions are posted to [1]the
   Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   This week we see a new Hugs release, and the results of the ICFP
   contest are out! We feature a special report on the Commercial Users
   of Functional Programming workshop, courtesy of John Hughes

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * ICFP Contest Results. CMU's Principles of Programming Group
   [6]announced the results of this year's [7]ICFP programming
   contest. Congratulations to the winning team from Google, 'Team
   Smartass', (Christopher Hendrie, Derek Kisman, Ambrose Feinstein
   and Daniel Wright), who used Haskell along with C++, Bash and
   Python. Haskell has now been used by the winning team three years
   running! An honourable mention to team Lazy Bottoms, another
   Haskell team, who managed to crack several of the puzzles first.
   Five teams from the [8]#haskell IRC channel were [9]placed in the
   top 50. A video stream of the results announcement is
   [10]available, shot and cut by Malcolm Wallace. Many thanks to the
   [11]CMU team for organising such a great contest!

   6. http://icfpcontest.org/
   7. http://icfp06.cs.uchicago.edu/
   8. http://haskell.org/haskellwiki/IRC_channel
   9. http://icfpcontest.org/scoreboard.shtml
  10. http://video.google.com/videoplay?docid=6419094369756184531
  11. http://www.cs.cmu.edu/afs/cs/Web/Groups/pop/pop.html

 * New release of Hugs. Ross Paterson [12]announced a new minor
   release of Hugs, fixing a few bugs with the May 2006 release, and
   with libraries roughly matching the forthcoming GHC 6.6 release.
   It is available from [13]the Hugs page.

  12. http://article.gmane.org/gmane.comp.lang.haskell.hugs.user/493/
  13. http://www.haskell.org/hugs/

 * HAppS version 0.8.2. Einar Karttunen [14]announced the release of
   the Haskell Application Server version 0.8.2. HAppS is a Haskell
   web application server for building industrial strength internet
   applications safely, quickly, and easily. With HAppS you focus
   entirely on application functionality implemented in your
   favourite language and you don't have to worry about making sure
   all sorts of server subsystems are functioning properly. [15]More
   info.

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/14292/
  15. http://happs.org/

 * Codec.Compression.GZip and .BZip. Duncan Coutts [16]released two
   new packages: zlib and bzlib, which provide functions for
   compression and decompression in the gzip and bzip2 formats,
   directly on [17]ByteStrings. Both provide pure functions on
   streams of data represented by lazy ByteStrings. This makes it
   easy to use either in memory or with disk or network IO. There is
   API documentation is available [18]here and [19]here.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/14265/
  17. http://www.cse.unsw.edu.au/~dons/fps.html
  18. http://haskell.org/~duncan/zlib/docs
  19. http://haskell.org/~duncan/bzlib/docs

 * System Fc branch merged into GHC. Manuel Chakravarty [20]merged
   the [21]System Fc branch of GHC into GHC head. This is a
   significant development, adding extensions to GHC to support an
   [22]FC-based intermediate language, a new implementation of GADTs,
   along with indexed data types and indexed newtypes (generalised
   [23]associated data types). [24]More details about the
   implementation.

  20. http://article.gmane.org/gmane.comp.lang.haskell.cvs.all/28297/
  21. http://www.cse.unsw.edu.au/~chak/papers/SCP06.html
  22. http://hackage.haskell.org/trac/ghc/wiki/IntermediateTypes
  23. http://www.cse.unsw.edu.au/~chak/papers/CKPM05.html
  24. http://hackage.haskell.org/trac/ghc/wiki/TypeFunctions

 * Job writing security software in Haskell. Andrew Pimlott
   [25]announced that Planning Systems, Inc. has a job opportunity
   for Haskell programmers, writing a high-assurance authorization
   system. [26]Job description.

  25. http://article.gmane.org/gmane.comp.lang.haskell.cafe/15439/
  26. http://www.plansys.com/careers/job_details.cfm?JobID=28

 * Dr Haskell 0.1. Neil Mitchell [27]released Dr Haskell, a tool to
   help suggest improvements to your Haskell code. Dr Haskell will
   a

[Haskell] Haskell Weekly News: September 18, 2006

2006-09-18 Thread Donald Bruce Stewart

---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 41 - September 18, 2006
---

   Welcome to issue 41 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each week, new editions are posted to [1]the
   Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   The 2006 Haskell Workshop was held today in Portland, Oregon. Thanks
   to Edward Kmett for a report on the event.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * Haskell98 Termination Analyser . Stephan Swidersk [6]announced the
   integration of an automatic Haskell98 termination analyzer in the
   termination tool AProVE. The tool accepts full Haskell as
   specified in the Haskell 98 Report and is available through our
   web interface. [7]More

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14193
   7. http://aprove.informatik.rwth-aachen.de/

 * Free theorems . Janis Voigtlaender [8]announced that Sascha Boehme
   has done a project to implement the Reynolds/Wadler algorithm
   generating theorems from polymorphic types, plus simplifications
   and postprocessings for such free theorems. [9]More info

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/14160
   9. http://haskell.as9x.info/

 * Haddock/GHC SoC . David Waern [10]announced a short status report
   of the "Port Haddock to use GHC" Summer of Code project. The GHC
   modifications, are finished and will be included in the GHC head
   repository soon.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14149

 * AutoForms release 0.2 . Mads Lindstr?m [11]released AutoForms 0.2,
   a library to ease the creation of GUIs. It does this by using
   generic programming (SYB) to construct GUI components. [12]More
   info

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/14148
  12. http://autoforms.sourceforge.net/

 * HSPClientside 0.2 . Joel Bj?rnson [13]announced a new version of
   HSPClientside (0.2) ,developed as a GSoC project during this
   summer. HSPClientside is a Haskell Server Pages library for
   generating JavaScript code. [14]More info

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/14133
  14. http://darcs.haskell.org/SoC/hsp.clientside/

 * SOE implementation based on Gtk2Hs . Duncan Coutts [15]Due to
   popular demand the new SOE implementation based on Gtk2Hs is
   [16]available. The rendering quality is better than the original
   HGL version. [17]Here's a side-by-side comparison

  15. http://article.gmane.org/gmane.comp.lang.haskell.general/14132
  16. file://localhost/home/dons/dons/src/hwn/now
  17. http://haskell.org/~duncan/gtk2hs/SOE-cairo.png

 * The experimental GHCi debugger . Pepe [18]announced the results of
   his SoC project, the experimental Haskell debugger. [19]More
   details

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/14131
  19. http://haskell.org/haskellwiki/GHC/GHCiDebugger

 * SmallCheck . Colin Runciman [20]released a prototype tool that is
   similar in spirit, and in some of its workings, to QuickCheck.
   SmallCheck is, though, based on exhaustive testing in a bounded
   space of test values. [21]More info

  20. http://article.gmane.org/gmane.comp.lang.haskell.general/14129
  21. http://www.cs.york.ac.uk/fp/smallcheck0.0.tar

 * Frisby: composable, linear time parser for arbitrary PEG grammers
   . John Meacham [22]released Frisby, an implementation of the
   'packrat' parsing algorithm, which parse PEG grammars and have a
   number of very useful qualities, they are a generalization of
   regexes in a sense that can parse everything in LL(k), LR(k), and
   more, including things that require unlimited lookahead, all in
   guaranteed linear time. [23]More information

  22. http://article.gmane.org/gmane.comp.lang.haskell.general/14128
  23. http://repetae.net/computer/frisby/

 * HaskellNet . Jun Mukai [24]published a status report on the state
   of his SoC project, HaskellNet

  24. http://article.gmane.org/gmane.comp.lang.haskell.general/14126

 * GHC's new support engineer . Simon Marlow [25]announced that GHC
   now has a full-time support engineer, Ian Lynagh (aka Igloo on
   IRC). He'll be helping with all aspects of GHC, especially release
   management, bug diagnosis and tracking, documentation, packaging,
   and supporting other GHC hackers. Welcome Ian!

  25. http://article.gmane.org/gmane.comp.lang.haskell.general/141

Re: [Haskell] ANN: SmallCheck 0.1

2006-09-13 Thread Donald Bruce Stewart
colin:
> SmallCheck: another lightweight testing library in Haskell.
> 
> Folk-law: if there is any case in which a program fails, there is almost
> always a simple one.
> 
> SmallCheck is similar to QuickCheck (Claessen and Hughes 2000-)
> but instead of a sample of randomly generated values, SmallCheck
> tests properties for all the finitely many values up to some depth,
> progressively increasing the depth used.  For data values, depth means
> depth of construction.  For functional values, it is a measure combining
> the depth to which arguments may be evaluated and the depth of possible
> results.
> 
> Other possible sales pitches:
> * write test generators for your own types more easily
> * be sure any counter-examples found are minimal
> * write properties using existentials as well as universals
> * establish complete coverage of a defined test-space
> * display counter-examples of functional type
> 
> A new version of SmallCheck can be obtained from:
> http://www.cs.york.ac.uk/fp/smallcheck0.1.tar
> The differences from 0.0 are two fixes (space-fault, output buffering),
> an 'unsafe' but sometimes useful Testable (IO a) instance and additional
> examples.
> 
> Comments and suggestions welcome.

I've written a lambdabot plugin for SmallCheck, to go with the existing
one for QuickCheck. It's running on #haskell now (after removing that
pesky Testable IO instance (not good for security...).

Let's run QuickCheck (check) head to head with SmallCheck (scheck): 

$ ./lambdabot
Initialising plugins . done.

lambdabot> check True
 OK, passed 500 tests.

lambdabot> scheck True
 Completed 1 test(s) without failure.

lambdabot> check \s -> (s :: [Int]) == (reverse . reverse) s
 OK, passed 500 tests.

lambdabot> scheck \s -> (s :: [Int]) == (reverse . reverse) s
 Completed 623530 test(s) without failure.

lambdabot> check \s -> not (null s) ==> minimum (s :: [Int]) == (head . 
sort) s
 OK, passed 500 tests.

lambdabot> scheck \s -> not (null s) ==> minimum (s :: [Int]) == (head . 
sort) s
 Completed 623530 test(s) without failure.  But 1 did not meet ==> 
condition.

lambdabot> scheck \s -> not (null s) ==> minimum (s :: [Int]) == (last . 
sort) s
  Failed test no. 10. Test values follow.: [-1,-1,-1,-1,-1,-1,-1,0]

lambdabot> check \s -> not (null s) ==> minimum (s :: [Int]) == (last . 
sort) s
 Falsifiable, after 1 tests: [2,1]

One thing needed for online use: some more instances for the various numeric
types might be useful, Float, Double, Ratio, Complex etc.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News - August 14, 2006

2006-08-14 Thread Donald Bruce Stewart
---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 40 - August 14, 2006
---

   Welcome to issue 40 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each week, new editions are posted to [1]the
   Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   A mega super bumper issue, for the 1st birthday of the Haskell Weekly News

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * The Haskell Workshop . Andres Loeh [6]announced the preliminary
   schedule of the Haskell Workshop 2006, part of the 2006
   International Conference on Functional Programming (ICFP)

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/14104

 * dbus haskell bindings . Evan Martin [7]announced preliminary D-Bus
   Haskell bindings. D-Bus is a message bus system, a simple way for
   applications to talk to one another. [8]More

   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/13771
   8. http://neugierig.org/software/hdbus/

 * The GHC typechecker is Turing-complete . Robert Dockins was able
   to [9]show how that the GHC typechecker with multi-parameter
   typeclasses, functional dependencies, and undecidable instances is
   Turing-complete.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/14088

 * Haskell Program Coverage . Colin Runciman [10]announced the first
   release of hpc, a new tool for Haskell developers. Hpc records and
   displays Haskell program coverage. It provides coverage
   information of two kinds: source coverage and boolean-control
   coverage. [11]More here

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/14087
  11. http://www.galois.com/~andy/hpc-intro.html

 * Smash your boiler-plate without class and Typeable . Oleg Kiselyov
   [12]described a new generic programming technique, expressive
   enough to traverse a term and return another term of a different
   type, determined by the original term's type/structure. [13]More
   details

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/14086
  13. http://okmij.org/ftp/Haskell/syb4.hs

 * Paper: Software Extension and Integration with Type Classes . Ralf
   Laemmel and Klaus Ostermann [14]invite comments towards the final
   version of their paper [15]Software Extension and Integration with
   Type Classes

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/14040
  15. http://homepages.cwi.nl/~ralf/gpce06/

 * HSP.Clientside 0.01 . Joel Bj?rnson [16]announced a release of his
   Summer of Code project HSP.Clientside 0.01. Present features
   include an embedding of (typed) JavaScript language in Haskell, a
   small combinator library for generating JavaScript code, and
   high-level interface to Ajax functionality.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/14023

 * Monadic probabilistic functional programing . Stefan Karrmann
   [17]announced that he had extended Martin Erwig's PFP library to
   support abstract monads, cabal and darcs

  17. http://article.gmane.org/gmane.comp.lang.haskell.general/14012

 * hdbc-odbc 1.0.0.1 . John Goerzen [18]released DBC-odbc, the ODBC
   backend driver for HDBC, version 1.0.0.1.

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/13998

 * Few Digits 0.5.0 . Russell O'Connor This year, Few Digits competed
   in the [19]More Digits contest. To celebrate, version 0.5.0 of Few
   Digits is available. Few Digits 0.5.0 is now ten times faster and
   three times more complicated. Few Digits has been Cabalized for
   your convenience. [20]More info

  19. http://rnc7.loria.fr/competition.html
  20. http://r6.ca/FewDigits/

 * System.FilePath 0.9 . Neil Mitchell [21]announced System.FilePath
   0.9

  21. http://article.gmane.org/gmane.comp.lang.haskell.general/13985

 * The History of Haskell . Phil Wadler, John Hughes, Paul Hudak and
   Simon Peyton Jones [22]have been writing a paper, The History of
   Haskell, for the History Of Programming Languages conference
   (HOPL'07), and they invite feedback. Wiki page [23]here.

  22. http://article.gmane.org/gmane.comp.lang.haskell.general/13983
  23. http://haskell.org/haskellwiki/History_of_Haskell

 * AngloHaskell . Lemmih [24]mentioned that AngloHaskell will be held
   at Cambridge in August. The agenda includes beer, unicycles,
   hacking and other fun. [25]More info

  24. http://article.gmane.org/gmane.comp.lang.haskell.general/13979

[Haskell] Haskell Weekly News: July 03, 2006

2006-07-02 Thread Donald Bruce Stewart

---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 39 - July 03, 2006
---

   Welcome to issue 39 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each week, new editions are posted to [1]the
   Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   A week of busy activity in the community. Thanks to Simon Marlow and
   Josef Svenningsson for contributions to this issue.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * HDBC 1.0 . John Goerzen [6]released the latest HDBC. HDBC is a
   database tool, modeled loosely on Perl's DBI interface, though it
   has also been influenced by Python's DB-API v2, JDBC in Java, and
   HSQL in Haskell. You can find the code [7]here.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13879
   7. http://quux.org/devel/hdbc

 * hpodder . John Goerzen [8]announced the first release of hpodder.
   hpodder is a podcast downloader (podcatcher) written in pure
   Haskell. It exists because John was unsatisfied with the other
   podcatchers for Linux. Full details [9]here.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/13880
   9. http://quux.org/devel/hpodder

 * hmp3 1.1 . Don Stewart [10]announced a new release of hmp3, the
   curses-based mp3 player written in Haskell. Release 1.1 is a
   maintenance release, fixing support for GHC 6.4.2

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/13864

 * HSP.Clientside 0.001 . Joel Bjornson [11]announced a prerelease
   version of Hsp.Clientside. This is Joel's [12]Summer of Code
   project aiming to add support for client-side script generation in
   Haskell Server Pages. The basic building blocks for embedding
   Javascript has been implemented. As the project proceeds a
   suitable programming model based on these components will be
   added. Hopefully this will also include some kind of higher level
   Ajax support. For more information see [13]here.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/13851
  12. http://code.google.com/soc/haskell/about.html
  13. http://www.dtek.chalmers.se/~bjornson/soc

 * QDBM and Hyper Estraier bindings . Jun Mukai [14]released a
   library of bindings to Quick DBM, a database module similar to
   GDBM, Berkeley-DB, optimized for performance and a simple API.
   Additionally, Jun's code includes support for Hyper Estraier, a
   full-text search system using QDBM, with the ability to search
   documents according to keywords.

  14. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4821

 * Streams 0.2 . Bulat Ziganshin [15]announced the beta release of
   his Streams 0.2 library, providing fast string and binary IO, now
   with Data.ByteString support.

  15. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4820

 * HNOP 0.1 . Ashley Yakeley [16]released the first version of HNOP
   0.1. HNOP does nothing. This version should be considered "beta"
   quality.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/13881

 * HList updates . Oleg Kiselyov [17]announced that HList, the
   library for strongly typed heterogeneous lists, records,
   type-indexed products (TIP) and co-products is now accessible via
   darcs, [18]here. Additionally, Oleg pointed to some new features
   for HList, including a new representation for open records.
   Finally, he [19]published a note on how HList supports, natively,
   polymorphic variants: extensible recursive open sum datatypes,
   quite similar to Polymorphic variants of OCaml. HList thus solves
   the `expression problem' -- the ability to add new variants to a
   datatype without changing the existing code.

  17. http://article.gmane.org/gmane.comp.lang.haskell.general/13905
  18. http://darcs.haskell.org/HList/
  19. http://article.gmane.org/gmane.comp.lang.haskell.general/13906

 * Haskell IO Inside . Bulat Ziganshin [20]wrote a new introductory
   tutorial to IO in Haskell, [21]Down the Rabbit's Hole.

  20. http://article.gmane.org/gmane.comp.lang.haskell.cafe/13409
  21. http://haskell.org/haskellwiki/IO_inside

 * Bytecode API 0.2 . Robert Dockins [22]published the Yhc Bytecode
   API version 0.2. More details [23]here.

  22. http://article.gmane.org/gmane.comp.lang.haskell.yhc/146
  23. http://www.eecs.tufts.edu/~rdocki01/yhc-bytecode.html

 * Translating Haskell into English . Shannon Behrens [24]published a
   new Haskell tut

Re: [Haskell] Re: ANNOUNCE: HNOP 0.1

2006-07-01 Thread Donald Bruce Stewart
bringert:
> >  noop :: IO ()  -- generalise to other Monads?
> >
> >This would actually not be too hard to write, given my existing work,
> >and then of course the executable would simply be a thin wrapper.
> 
> As suggested above, this patch moves the core functionality to a  
> library module, Control.Nop. Furthermore, the nop function is  
> generalized to a polyvariadic function, so that you can now write for  
> example:

Ah, great. Now we can write a fast nop using ByteStrings for speed.

import Data.ByteString.Char8
import Control.Nop

-- | main, do nothing quickly
main :: IO ()
main = nop (pack "do nothing")

Demo patch for fast-hnop attached.

-- Don

New patches:

[Moved the definition of the nop function to a library module, Control.Nop. 
Reimplemented Main.hs using Control.Nop. Generalized the nop function to a 
polyvariadic function.
[EMAIL PROTECTED] {
adddir ./Control
addfile ./Control/Nop.hs
hunk ./Control/Nop.hs 1
+-
+-- |
+-- Module  :  Control.Nop
+-- Copyright   :  Copyright 2006, Bjorn Bringert ([EMAIL PROTECTED])
+-- License :  BSD3
+--
+-- Maintainer  :  Bjorn Bringert <[EMAIL PROTECTED]>
+-- Stability   :  experimental
+-- Portability :  portable
+--
+-- This is a generalization of Ashley Yakeley's original HNOP
+-- program to a polyvariadic function, which still does nothing.
+-- The result is either an IO action which does nothing,
+-- or pure nothingness.
+-- 
+-
+module Control.Nop where
+
+-- | The class of functions which do nothing.
+class Nop a where
+-- | Do nothing. 
+--   The most useful familiy of 'nop' functions is probably:
+-- @nop :: a1 -> ... -> an -> IO ()@
+nop :: a
+
+instance Nop () where
+nop = ()
+
+instance Nop a => Nop (IO a) where
+nop = return nop
+
+instance Nop b => Nop (a -> b) where
+nop _ = nop
+
hunk ./Main.hs 4
+import Control.Nop
+
hunk ./Main.hs 8
-main = return ()
+main = nop
hunk ./hnop.cabal 6
+Exposed-modules: Control.Nop
}

[Add demo fast-hnop, using Data.ByteString for speed
Don Stewart <[EMAIL PROTECTED]>**20060701083508] {
addfile ./Fast.hs
hunk ./Fast.hs 1
+module Main where
+
+import Data.ByteString.Char8
+import Control.Nop
+
+-- | main, do nothing quickly
+main :: IO ()
+main = nop (pack "do nothing")
hunk ./hnop.cabal 5
-build-depends:   base
+build-depends:   base, fps
hunk ./hnop.cabal 11
+Executable:  fast-hnop
+Main-Is: Fast.hs
+
}

Context:

[remove unnecessary Makefile
Ashley Yakeley <[EMAIL PROTECTED]>**20060630191533] 
[use correct GHC options pragma
Ashley Yakeley <[EMAIL PROTECTED]>**20060630191505] 
[fix up cabal file
Ashley Yakeley <[EMAIL PROTECTED]>**20060630075323] 
[haddock-ise hnop
[EMAIL PROTECTED] 
[cabalise hnop
[EMAIL PROTECTED] 
[initial version
Ashley Yakeley <[EMAIL PROTECTED]>**20060630034031] 
Patch bundle hash:
8ba09d4b5f29d8136032effcf004a4a47cf274c1
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ANNOUNCE: HNOP 0.1

2006-06-30 Thread Donald Bruce Stewart
mvanier:
> Incidentally, on my machine the compiled code is 2759360 bytes long 
> unstripped and 1491240 stripped.  One has to wonder what all those bytes 
> are doing.  I hope this doesn't sound petty; I love haskell and ghc, but 
> 2.8 meg for a no-op program seems a bit excessive.

Hmm. Sounds like you're using ghc on a machine with no split objects?
With split objs,
$ du -hs dist/build/hnop/hnop
192Kdist/build/hnop/hnop

Note the object is just:
$ du -hs dist/build/hnop/hnop-tmp/Main.o
4.0Kdist/build/hnop/hnop-tmp/Main.o

The rest is rts and the tiny bit of the prelude hnop uses.

On the mac, you can use a dynamically linked rts and base, and there
hnop would be around 5k, I suppose.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] ANNOUNCE: HNOP 0.1

2006-06-30 Thread Donald Bruce Stewart
Alistair_Bayley:
> > From: [EMAIL PROTECTED] 
> > [mailto:[EMAIL PROTECTED] On Behalf Of Ashley Yakeley
> > 
> > HNOP does nothing. Here's a sample session to illustrate:
> > 
> > $ ./hnop
> > $
> > 
> > The code is written entirely in plain Haskell 98 and makes no 
> > use of FFI 
> > or impure functions. The source is available in a darcs repository:
> > 
> >darcs get http://semantic.org/hnop/
> > 
> > Possible applications include generated code size comparison for 
> > compilers, and as a starting point for more complex Haskell projects.
> 
> 
> Cool, that's awesome. But I don't see any Haddock docs? Or a Cabal
> Setup.hs? Would it be much trouble to add them?

Done. See attached patch. :)

-- Don

New patches:

[cabalise hnop
[EMAIL PROTECTED] {
addfile ./Setup.hs
hunk ./Setup.hs 1
+#!/usr/bin/env runhaskell
+import Distribution.Simple
+main = defaultMainWithHooks defaultUserHooks
addfile ./hnop.cabal
hunk ./hnop.cabal 1
+Name:hnop
+Version: 0.0
+License-file:LICENSE
+Author:  Ashley Yakeley.
+build-depends:   base
+
+Executable:  hnop
+Main-Is: Main.hs
}

[haddock-ise hnop
[EMAIL PROTECTED] {
hunk ./Main.hs 4
+-- | main, do nothing
}

Context:

[initial version
Ashley Yakeley <[EMAIL PROTECTED]>**20060630034031] 
Patch bundle hash:
87f8e91810a0ead23187d03031374f7d838ecfcd
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Re: Speed of ByteString.Lazy

2006-06-29 Thread Donald Bruce Stewart
chad.scherrer:
>Wow. 64 times as fast for this run, with almost no effort on
>my part. Granted, wc is doing more work, but the number of
>words and characters aren't interesting to me in this case,
>anyway. I can't imagine (implementation time)*(execution
>time) being much shorter. Thanks, Don!

Cheers!

Duncan Coutts and I have put in many long hours in improving the
bytestring code over the last 3 months, in particularly the Lazy
bytestring library, and array fusion on bytestrings. You can see here,
http://www/~dons/images/commits/fps-commits.png, some 200 patches a
month :}

Its gratifying to find out that people really use the code :)

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: hmp3 1.1

2006-06-27 Thread Donald Bruce Stewart

A new version of hmp3 has been released, version 1.1

hmp3 is a curses-based mp3 player written in Haskell.  It is designed to be
simple, fast and robust.

This is mostly a maintenance, release, fixing support for ghc 6.4.2.
However, you do get some new features:
* Enable searching of the entire track list, not just the directory list
* Adds ability to play previous song (thanks to Christophe Poucet)
* Ported to use the Data.ByteString api

Available as a cabalised src tarball, a darcs repo, and binaries for 
(currently):
* Linux/x86
* OpenBSD/x86

It is also known to run on FreeBSD, OSX and Irix/mips64 and probably any other
unix system with a minimal curses implementation.

   http://www.cse.unsw.edu.au/~dons/hmp3.html

Cheers,
  Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Graphing community activity

2006-06-27 Thread Donald Bruce Stewart
dons:
> Hey all,
> 
> Inspired by a comment from Shae Erisson, I added a little 5 line script
> to darcs-graph[1], to display the commit activity of _remote_ darcs
> repositories. 
> 
> Here are the activity graphs for a selection of projects in the community:
> 
> http://www.cse.unsw.edu.au/~dons/images/commits/community/
> 
> The graphs show, for instance, ghc activity back to 1996.
> 
> This might be useful to quickly work out what's going on in the
> community. If you're interested in hacking something up, using this
> data, ping me :) A page showing hot projects, for example...

I hacked up a larger script. More projects graphed:

http://www.cse.unsw.edu.au/~dons/images/commits/community/

Let me know if you have an active project you want displayed.

My vague hope is that this will help people work out what needs work on,
and what is taking off.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: June 25, 2006

2006-06-24 Thread Donald Bruce Stewart

---
Haskell Weekly News
http://haskell.org/haskellwiki/HWN
Issue 38 - June 25, 2006
---

   Welcome to issue 38 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each week, new editions are posted to [1]the
   Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   This edition mechanised, automated and published thanks to
   Text.PrettyPrint, hopefully making it easier to keep the weekly news
   schedule in future.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * The GHC Hackathon . Simon Peyton-Jones [6]announced that GHC HQ
   are going to run a hackathon, in Portland, just before ICFP this
   September (14-15th). It'll be held at Galois's offices, in
   Beaverton. Thanks go to [7]Galois for hosting the meeting. [8]Here
   are the details. If you are interested in finding out a bit about
   how GHC works inside, then you should find the hackathon fun. It
   will be informal and interactive. If you think you might come,
   please take a look at the above page, and register.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13838
   7. http://galois.com/
   8. http://hackage.haskell.org/trac/ghc/wiki/Hackathon

 * Bytecode API library . Robert Dockins [9]announced a release of an
   alpha version of a library for reading and writing the YHC
   bytecode file format. It reads and writes the entire bytecode set,
   version 1.9 (the one used by recent YHC builds). [10]Check it out.

   9. http://article.gmane.org/gmane.comp.lang.haskell.yhc/134
  10. http://www.eecs.tufts.edu/~rdocki01/yhc-bytecode.html

Haskell'

   This section covers the [11]Haskell' standardisation process.

 * [12]Regarding Class Aliases

  11. http://hackage.haskell.org/trac/haskell-prime
  12. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1558/focus=1558

Discussion

 * Extensible records using associated types . Barney Hilken
   [13]suggested an interesting encoding of polymorphic extensible
   records using associated types.

  13. http://thread.gmane.org/gmane.comp.lang.haskell.general/13828/focus=13828

 * Graphing community activity . Don Stewart [14]posted started
   graphing the commit activity of [15]various Haskell community
   projects over time.

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/13830
  15. http://www.cse.unsw.edu.au/~dons/images/commits/community/

Contributing to HWN

   To help create new editions of this newsletter, please see the
   [16]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

  16. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Graphing community activity

2006-06-19 Thread Donald Bruce Stewart
Hey all,

Inspired by a comment from Shae Erisson, I added a little 5 line script
to darcs-graph[1], to display the commit activity of _remote_ darcs
repositories. 

Here are the activity graphs for a selection of projects in the community:

http://www.cse.unsw.edu.au/~dons/images/commits/community/

The graphs show, for instance, ghc activity back to 1996.

This might be useful to quickly work out what's going on in the
community. If you're interested in hacking something up, using this
data, ping me :) A page showing hot projects, for example...

-- Don

1. http://www.cse.unsw.edu.au/~dons/darcs-graph.html
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: June 16, 2006

2006-06-16 Thread Donald Bruce Stewart

   Welcome to issue 37 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each Monday, new editions are posted to
   [1]the Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   This edition -- better late than never -- covers another madly busy 2
   weeks for the Haskell community.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * Google Summer of Code. The Haskell.org team [6]announced that nine
   Haskell projects have been selected to receive funding to the
   value of $45k under Google's 2006 [7]Summer of Code program. A
   wide range of projects will be worked on, contributing to the
   community important tools and libraries. The students have until
   August 21 to complete their projects, and receive their grants.
   Details of the accepted projects can be found [8]here

   6. http://www.haskell.org/pipermail/haskell/2006-May/017999.html
   7. http://code.google.com/soc
   8. http://code.google.com/soc/haskell/about.html

 * Haskell Communities & Activities Report. Andres Loeh [9]published
   the 10th edition of the Haskell Communities and Activities Report
   (HCAR). If you haven't encountered the Haskell Communities and
   Activities Reports before, you may like to know that the first of
   these reports was published in November 2001. Their goal is to
   improve the communication between the increasingly diverse groups,
   projects and individuals working on, with, or inspired by Haskell.

   Read the 10th edition [10]here.

   9. http://www.haskell.org/pipermail/haskell/2006-June/018071.html
  10. http://www.haskell.org/communities/

 * Would you like a job working on GHC?. Simon Peyton-Jones
   [11]announced that GHC HQ is looking for support engineer. The
   Glasgow Haskell Compiler (GHC) is now being used by so many
   people, on so many platforms, that GHC HQ has been struggling to
   keep up. In particular, the candidate should be someone who is
   enthusiastic about Haskell, and fired up about the prospect of
   becoming a GHC expert.

  11. http://www.haskell.org/pipermail/haskell/2006-June/018068.html

 * Shellac and Lambda Shell 0.3. Robert Dockins [12]announced the
   simultaneous release of Shellac 0.3 and Lambda Shell 0.3. Shellac
   is a library for creating read-eval-print style shells. It makes
   binding to feature-rich shell packages (ie, readline) easier.
   Lambda shell is full-featured shell environment for evaluating
   terms of the pure untyped lambda calculus and a showcase/tutorial
   for Shellac's features.

  12. http://www.haskell.org/pipermail/haskell/2006-May/018041.html

 * darcs-graph. Don Stewart released [13]darcs-graph, a tool for
   generating graphs of commit activity for darcs repositories.

  13. http://www.cse.unsw.edu.au/~dons/darcs-graph.html

 * VersionTool 1.0. Manuel Chakravarty [14]announced version 1.0 of
   [15]VersionTool, a small utility that:
  + extracts version information from Cabal files,
  + maintains version tags in darcs,
  + computes patch levels by querying darcs,
  + extracts the current context from darcs, and
  + adds all this information to a source file

  14. http://www.haskell.org/pipermail/haskell/2006-June/018063.html
  15. http://www.cse.unsw.edu.au/~chak/haskell/VersionTool/

 * Streams 0.1e. Bulat Ziganshin [16]released Streams library version
   0.1e. Now cabalised and BSD-ified.

  16. http://www.haskell.org/pipermail/haskell/2006-June/018063.html

 * Hitchhikers guide to Haskell - chapter 5. Dmitry Astapov
   [17]announced that chapter 5 of his online tutorial, the
   Hitchhikers guide to Haskell, is available. Changes include: It's
   bigger. It's better. It now comes with source code included.

  17. http://www.haskell.org/pipermail/haskell-cafe/2006-June/015966.html

 * Haskell Shell (HSH) 0.1.0. John Goerzen [18]released version 0.1.0
   of HSH, the Haskell shell. Things are still very preliminary in
   many ways, but this version already lets you:
  + Run commands
  + Pipe things between commands
  + Pipe command input/output into and out of pure Haskell
functions
  + Pure Haskell functions are as much a first-class citizen as
is grep or cat

  18. http://www.haskell.org/pipermail/haskell/2006-June/018059.html

 * Edison 1.2. Robert Dockins [19]released the final, stable release
   of Edison 1.2. Edison is a library of efficient, purely-functional
   data structures for Haskell.

  19. http://www.haskell.org/pipermail/haskell/2006-June/018050.html

 *

[Haskell] Announce: Lambdabot 4.0

2006-06-14 Thread Donald Bruce Stewart

I'm pleased to announce the release of lambdabot 4.0!

lambdabot is a stable, feature rich IRC bot based on a plugin framework.
lambdabot 4.0 comes with a suite of more than 50 plugins, including:

* a Haskell 98 interpreter
* two lambda calculus interpreters
* an unlambda interpreter
* a pointfree code refactorer
* Hoogle support
* support for the djinn haskell code generator/theorem prover
* a Haskell type and kind inference
* typeclass instance lookup
* Haskell library search tool
* online help
* channel logging
* a generic search interface, support google, wikipedia and the haskell wiki
* a babel language translator
* darcs patch tracking
* offline mode, editor support
* and much more

Over the last 14 months work on lambdabot has continued, with help from
the #haskell irc community. Over this period, more than 550 patches
have been contributed, from 22 developers. The lambdabot code base is
now over the 10k lines of code mark!

Some of the new features in this release include:

* Offline mode! Lambdabot can be used as a command line tool, or
  from within and editor, to process Haskell source.
* Evaluate Bird-style literate haskell directly in channel
* Hoogle plugin
* Log plugin
* Vote plugin, for conduncting online polls
* Darcs patch watch plugin
* Where plugin, a database of haskell project urls
* Code plugin. quote random code from $fptools
* Elite plugin, for producing 1337$p33k
* Url plugin, print titles of urls posted in channel
* Tell plugin, post and retrive messages for users 
* Local time plugin, report a user's local time
* Djinn plugin, for Lennart's Djinn tool
* Pretty plugin, for pretty-printing haskell fragments
* Compose plugin, a meta-plugin for dynamic composition of other plugins
* LambdaShell plugin, another lambda calculus interpreter
* Unlambda plugin, an interpreter for unlambda written in Haskell
* Gwiki plugin searches the haskell wiki
* Hylo plugin, for generating hylomorphisms using the UMinho DrHylo tool
* Instances plugin, to find instances for typeclasses

As well as:
* A new `contextual' plugin system, where plugins can perform
  arbitrary transformations on the channel stream.
* Cabal build system
* Flood protection
* Start on XMPP support
* Improved memory usage, using ByteString and Binary serialised state
* More stable.
* Much refactoring

lambdabot is available via darcs:
darcs get --partial http://www.cse.unsw.edu.au/~dons/lambdabot

More details are at:
http://www.cse.unsw.edu.au/~dons/lambdabot.html

-- Don Stewart
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: Google Summer of Code Projects

2006-05-24 Thread Donald Bruce Stewart

We are very pleased to announce that nine Haskell projects have been
selected to receive funding to the value of $45k under Google's 2006
Summer of Code program. A wide range of projects will be worked on,
contributing to the community important tools and libraries. The
students have until August 21 to complete their projects, and receive
their grants.

The Haskell.org team of mentors would like to thank Google for
recognizing the importance of supporting the Haskell language and
community.

This year was extremely competitive, with over 110 Haskell project
submissions. Of these, 38 projects received high scores and willing
mentors, and 66 received positive reviews overall. We hope that many of
the unsuccessful projects will be worked on nonetheless. 

The following projects were successful. Congratulations to these students!

  * Fast Mutable Collection Types for Haskell, 
Caio Marcelo de Oliveira Filho, 
Mentor: Audrey Tang

  * Port Haddock to use GHC, 
David Waern, 
Mentor: Simon Marlow

  * A model for client-side scripts with HSP, 
Joel Bj?rnson, 
Mentor: Niklas Broberg

  * GHCi based debugger for Haskell, 
Jos? Iborra L?pez, 
Mentor: David Himmelstrup

  * HaskellNet, 
Jun Mukai, 
Mentor: Shae Erisson

  * Language.C - a C parser written in Haskell, 
Marc Ernst Eddy van Woerkom, 
Mentor: Manuel Chakravarty

  * Implement a better type checker for Yhc, 
Mathieu Boespflug, 
Mentor: Malcolm Wallace

  * Thin out cabal-get and integrate in GHC, 
Paolo Martini, 
Mentor: Isaac Jones

  * Unicode ByteString, Data.Rope, Parsec for generic strings, 
Spencer Janssen, 
Mentor: Don Stewart

We wish the students good luck and good hacking!

The Haskell.org Team.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: May 22, 2006

2006-05-21 Thread Donald Bruce Stewart

Haskell Weekly News: May 22, 2006

   Welcome to issue 36 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each Monday, new editions are posted to
   [1]the Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

   Another busy and exciting week for the Haskell community.

Announcements

 * Hugs 2006. Ross Paterson [6]announced a new major release of Hugs,
   including an installer for Windows and a new WinHugs interface. It
   is available from [7]the Hugs page.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13688
   7. http://www.haskell.org/hugs/

 * Linspire Chooses Haskell for Core OS Development. Clifford Beshers
   [8]announced that the OS team at Linspire, Inc. is standardizing
   on Haskell as their preferred language for core OS development.
   Much of the infrastructure is being written in Haskell, including
   the Debian package builder (aka autobuilder). Other tools such as
   ISO builders, package dependency checkers are in progress. The
   goal is to make a tight, simple set of tools that will let
   developers contribute to Freespire, based on Debian tools whenever
   possible.

   8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12662

 * lambdaFeed. Manuel Chakravarty [9]released lambdaFeed -- lambdas
   for all! lambdaFeed is an RSS 2.0 feed generator. It reads news
   items - in a non-XML, human-friendly format - distributed over
   multiple channels and renders them into the RSS 2.0 XML format
   understood by most news aggregators as well as into HTML for
   inclusion into web pages. Source is available in darcs. [10]Check
   it out.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/13649
  10. http://www.cse.unsw.edu.au/~chak/haskell/lambdaFeed/

 * Milfoh, an image to texture loading library. Maurizio Monge
   [11]announced he has put together a very small library, using
   SDL_image (and a bare minimun of SDL), to load image files as
   opengl textures. More information [12]here.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/13653
  12. http://linuz.sns.it/~monge/wiki/index.php/Milfoh

 * Haskell Charting Library. Tim Docker [13]released his Haskell 2D
   charting library. It's still at quite an early stage, but already
   it has:
  + Line charts, points charts, fills, and combinations.
  + Automatic layout sizing and adjustment.
  + Auto scaling of axis ranges
  + Extensible to support new plot types
  + Uses the cairo graphics library for output
   and more. [14]Further information and a darcs repo.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/13678
  14. http://dockerz.net/software/chart.html

 * Edison 1.2RC4. Robert Dockins [15]announced the 4th release
   candidate for Edison 1.2. Edison is a library of efficient data
   structures for Haskell.

  15. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4718

 * Colletions pre-release. Jean-Philippe Bernardy [16]announced an
   alpha release of the new collections package he (and others) have
   been working on. It's still far from perfect, but I hope it's
   already a good choice for many use cases of collection data
   structures.

  16. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4719

 * Haskell Graph Automorphism Library. In a busy week, Jean-Philippe
   also [17]released HGAL 1.2 (Haskell Graph Automorphism Library), a
   Haskell implementation of Brendan McKay's algorithm for graph
   canonic labeling and automorphism group. (aka Nauty). Improvements
   over the previous release include a faster algorithm
   implementation and the library is now cabalised.

  17. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4739

 * Darcs 1.0.7. Tommy Pettersson [18]announced the release of darcs
   1.0.7, containing a few bug fixes, and some new features.

  18. http://article.gmane.org/gmane.comp.version-control.darcs.user/9896

Haskell'

   This section covers activity on [19]Haskell' standardisation process.

 * Class system status ([20]parts 1, and [21]2)

  19. http://hackage.haskell.org/trac/haskell-prime
  20. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1527/focus=1527
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1554/focus=1554

Discussion

 * GHC Hackathon. Simon Peyton-Jones [22]posted more information on
   the proposed GHC Hackathon, in Portland, later this year prior to
   ICFP. The idea is that to give an extended tutorial a

Re: [Haskell] timing/timeout (how to express that in Haskell)

2006-05-12 Thread Donald Bruce Stewart
rahn:
> Donald Bruce Stewart wrote:
> 
> >watchdogIO :: Int  -- milliseconds
> > -> IO a   -- expensive computation
> > -> IO a   -- cheap computation
> > -> IO a
> 
> I'm not satisfied by the given function completely. Suppose the wrappers 
> for pure computations
> 
> watchdog1 :: Int -> a -> IO (Maybe a)
> watchdog1 millis x =
> watchdogIO millis (return (Just x))
>   (return Nothing)
> 
> watchdog2 :: Int -> a -> IO (Maybe a)
> watchdog2 millis x =
> watchdogIO millis (x `seq` return (Just x))
>   (return Nothing)
> 
> and the (expensive) function
> 
> grundy :: Integer -> Integer
> grundy n = mex [ grundy k | k <- [0..pred n] ]
> where mex xs = head [ k | k <- [0..] , not (elem k xs) ]
> 
> Now
> 
> *NG> Util.IO.Within.watchdog1 1000 (grundy 15) >>= print
> EXPENSIVE was used
> Just 15
> (0.26 secs, 12677644 bytes)
> *NG> Util.IO.Within.watchdog1 1000 (grundy 20) >>= print
> EXPENSIVE was used
> Just 20
> (8.35 secs, 395376708 bytes)
> 
> So watchdog1 is'nt the right choice. Let's use watchdog2:
> 
> *NG> Util.IO.Within.watchdog2 1000 (grundy 15) >>= print
> EXPENSIVE was used
> Just 15
> (0.27 secs, 13075340 bytes)
> *NG> Util.IO.Within.watchdog2 1000 (grundy 20) >>= print
> WATCHDOG after 1000 milliseconds
> Nothing
> (1.08 secs, 49634204 bytes)
> 
> Looks better, but:
> 
> *NG> Util.IO.Within.watchdog2 1000 (map grundy [0..20]) >>= print
> EXPENSIVE was used
> Just [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
> (16.81 secs, 790627600 bytes)
> 
> So what we really need is a deepSeq once more.

Yes, I think this came up once. We should be using deepSeq there.

Note that this could was produced in the heat of last year's ICFP
contest, so probably can be excused if it isn't fully tested :)

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] timing/timeout (how to express that in Haskell)

2006-05-12 Thread Donald Bruce Stewart
waldmann:
> What is the idiomatic way to say in (ghc) Haskell:
> "run this computation for at most  x  seconds"
> (e. g. it returns Boolean; imagine a primality test)
> so I want something :: Int -> a -> Maybe a
> with the guarantee that the result is
> Just x  with  x  in whnf, or  Nothing.
> I guess one answer is "that's not Haskell because
> that's not a function". Sure, but I think I need it
> anyways, so I would accept some  IO .. in the types.

This comes up occasionally, at least one solution is:

watchdogIO :: Int  -- milliseconds
 -> IO a   -- expensive computation
 -> IO a   -- cheap computation
 -> IO a
watchdogIO millis expensive cheap = 
do mvar <- newEmptyMVar
   tid1 <- forkIO $ do x <- expensive
   x `seq` putMVar mvar (Just x)
   tid2 <- forkIO $ do threadDelay (millis * 1000)
   putMVar mvar Nothing
   res <- takeMVar mvar
   case res of
 Just x -> 
 do info ("EXPENSIVE was used")
killThread tid2 `catch` (\e -> warn (show e))
return x
 Nothing ->
 do info ("WATCHDOG after " ++ show millis ++ " milliseconds")
killThread tid1 `catch` (\e -> warn (show e))
cheap


Note that this does more than you want, but you get the idea. 
forkIO + killThread && threadDelay

If you code up a nice example, perhaps you coudl put it on the wiki,
under Idioms?

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: May 8, 2006

2006-05-07 Thread Donald Bruce Stewart

Haskell Weekly News: May 8, 2006

   Welcome to issue 35 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each Monday, new editions are posted to
   [1]the Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

Announcements

 * hmake. Malcolm Wallace [6]released version 3.11 of [7]hmake, the
   compiler-independent project-building tool for Haskell programs.
   It automates recompilation analysis, based on import declarations
   in your files, to rebuild only those modules that are impacted by
   a change. It is rather like ghc's --make mode, but faster, less
   memory intensive, and it works with any compiler (e.g. hbc,
   nhc98).

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13634
   7. http://haskell.org/hmake

 * cpphs. In a busy week, Malcolm also [8]released version 1.2 of
   [9]cpphs, the in-Haskell implementation of the C pre-processor.
   The major change in this release is that the source files have
   been re-arranged into a cabal-ised hierarchical library namespace,
   so you can use cpp functionality from within your own code, in
   addition to the stand-alone utility.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/13638
   9. http://haskell.org/cpphs

 * Cabal 1.1. Duncan Coutts (as the new Cabal release manager)
   [10]announced that Cabal-1.1.4, the version shipped with GHC 6.4.2
   is now available to download as [11]a separate tarball. There is
   also a [12]new mailing list for Cabal development discussion
   including patch review. This is also where patches sent via "darcs
   send" will end up. The Cabal team would also like to take the
   opportunity to invite people to get involved in Cabal development,
   either new features or squashing annoying bugs.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/13625
  11. http://haskell.org/cabal/download.html
  12. http://haskell.org/mailman/listinfo/cabal-devel

 * DownNova-0.1. Lemmih [13]released downNova, a program designed for
   automating the process of downloading TV series from mininova.org.
   Written in Haskell, it will scan your downloaded files to find out
   what your interests are and download missing/new episodes to your
   collection. Advanced classification techniques are used to
   interpret the file names and 'downNova' will correctly extract
   series name, season number, episode number and episode title in
   nigh all cases.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/13640

 * Student SoC Application Deadline is rapidly approaching. Paolo
   Martini encouraged students to apply to google, using the
   [14]student application form, and [15]Haskell.org is looking
   forward to the several dozen applications we hope to receive.

  14. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12563
  15. http://hackage.haskell.org/trac/summer-of-code/

Haskell'

   This section covers activity on [16]Haskell' standardisation process.

 * [17]Termination for FDs and ATs

  16. http://hackage.haskell.org/trac/haskell-prime
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1450/focus=1450

Discussion

 * Speed of Binary serialisation. Bulat Ziganshin [18]posted a
   comparison of Handle and Bulat's Streams IO performance, with
   interesting results to ponder.

  18. http://article.gmane.org/gmane.comp.lang.haskell.general/13625

 * GHCi-based 'eval' and the ML top level. Geoff Washburn [19]sparked
   a bit of a thread when wondering how to emulate the ML "top level"
   in Haskell. Some alternatives were proposed, including ghc-api and
   hs-plugins.

  19. 
http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/9835/focus=9835

Quote of the Week

 Lemmih :: Haskell is the best glue language I know. It's like super-glue.

Code Watch

 * Wed Apr 26 11:21:14 PDT 2006 simonpj
   (ghc): Arrange that -fth is no longer implied by -fglasgow-exts
   Messages involving Template Haskell are deeply puzzling if you
   don't know about TH, so it seems better to make -fth an explicit
   flag. It is no longer switched on by -fglasgow-exts.

 * Fri Apr 28 06:07:18 PDT 2006 Don Stewart
   (packages/base): Import Data.ByteString from fps 0.5.
   Fast, packed byte vectors, providing a better PackedString.

 * Wed May 3 04:33:06 PDT 2006 Simon Marlow
   (packages/base): Improve performance of Integer->String conversion. See 
[20].
   Submitted by Bertram Felgenhauer

  20. http://www.haskell.org//pipermail/libraries/

[Haskell] Haskell Weekly News: May 1, 2006

2006-04-30 Thread Donald Bruce Stewart

Haskell Weekly News: May 1, 2006

   Welcome to issue 34 of HWN, a weekly newsletter covering developments
   in the Haskell community. Each Monday, new editions are posted to
   [1]the Haskell mailing list as well as to [2]the Haskell Sequence and
   [3]Planet Haskell. [4]RSS is also available, and headlines appear on
   [5]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://planet.haskell.org/
   4. http://sequence.complete.org/node/feed
   5. http://haskell.org/

   A double-plus episode this week, as last week's HWN went missing
   during a furious hack fest.

Announcements

 * GHC 6.4.2. Simon Marlow [6]announced the release of the Glasgow
   Haskell Compiler, version 6.4.2. GHC is a state-of-the-art
   programming suite for Haskell. Included is an optimising compiler
   generating good code for a variety of platforms, together with an
   interactive system for convenient, quick development. The
   distribution includes space and time profiling facilities, a large
   collection of libraries, and support for various language
   extensions, including concurrency, exceptions, and foreign
   language interfaces (C, whatever). GHC is distributed under a
   BSD-style open source license.
   For more information, see:
  + [7]GHC home
  + [8]Release notes
  + [9]GHC developers' home

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13576
   7. http://www.haskell.org/ghc/
   8. http://haskell.org/ghc/docs/6.4.2/html/users_guide/release-6-4-2.html
   9. http://hackage.haskell.org/trac/ghc/

 * Communities and Activities Report. Andres Loeh [10]released the
   call for contributions to the 10th (!) Haskell Communities and
   Activities Report. If you are working on any project that is in
   some way related to Haskell, write a short entry and submit it to
   Andres.

   The Haskell Communities and Activities Report is a bi-annual
   overview of the state of Haskell as well as Haskell-related
   projects over the last, and possibly the upcoming 6 months. If you
   have only recently been exposed to Haskell, it might be a good
   idea to browse the [11]November 2005 edition -- you will find
   interesting topics described as well as several starting points
   and links that may provide answers to many questions.

  10. http://article.gmane.org/gmane.comp.lang.haskell.general/13578
  11. http://haskell.org/communities/11-2005/html/report.html

 * Haskell' Status Report. Isaac Jones [12]released a [13]Haskell'
   status report. Currently the committee is focused on two issues,
   standardising [14]concurrency and extensions to [15]the class
   system.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/13603
  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://hackage.haskell.org/trac/haskell-prime/wiki/Concurrency
  15. http://hackage.haskell.org/trac/haskell-prime/wiki/ClassSystem

 * Google Summer of Code. Paolo Martini [16]announced that
   Haskell.org would have a presence as an official mentoring
   organisation for this year's Google Summer of Code. Several
   members of the Haskell community have volunteered as mentors, and
   a large number of proposals have been listed. If you're interested
   in mentoring, suggesting projects, or applying as a student to
   spend your summer writing Haskell code, check it out!
  + [17]The official SoC site
  + [18]The Haskell.org SoC page

  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12496
  17. http://code.google.com/soc/
  18. http://hackage.haskell.org/trac/summer-of-code/

 * 2006 GHC Hackathon. Simon Marlow [19]writes that the GHC team is
   considering the possibility of organising a GHC Hackathon around
   ICFP this year. Tentative details are on [20]the wiki page.

  19. http://article.gmane.org/gmane.comp.lang.haskell.general/13618
  20. http://hackage.haskell.org/trac/ghc/wiki/Hackathon

 * Data.ByteString. Don Stewart [21]announced new versions of
   [22]FPS/Data.ByteString, the fast, packed strings library for
   Haskell.

  21. http://article.gmane.org/gmane.comp.lang.haskell.general/13577
  22. http://www.cse.unsw.edu.au/~dons/fps.html

 * Debian from Scratch. John Goerzen [23]announced Debian From
   Scratch (DFS), a single, full rescue linux CD capable of working
   with all major filesystems, LVM, software RAID, and even compiling
   a new kernel. The tool that generates the ISO images (dfsbuild) is
   written in Haskell. The generated ISO images also contain full,
   working GHC and Hugs environments.

  23. http://article.gmane.org/gmane.comp.lang.haskell.general/13585

 * Hazakura - search-based MUA. Jun Mukai [24]announced the first
   release of hazakura, a search-based mail client, wri

Re: [Haskell] Re: ANNOUNCE: FPS - FastPackedStrings 0.2

2006-04-19 Thread Donald Bruce Stewart
ashley:
> Donald Bruce Stewart wrote:
> 
> >Interface:   
> >http://www.cse.unsw.edu.au/~dons/fps/Data.FastPackedString.html
> 
> Given that FastString turns out to be an array of Word8, why are you using 
> Char at all?

Convenience. Some historical legacy from darcs. And others have
contributed patches specifically to add more Word8 support.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: FPS - FastPackedStrings 0.2

2006-04-19 Thread Donald Bruce Stewart

I'm pleased to announce version 0.2 of FPS, the fast, packed string
library for Haskell. 

FPS allows you to have time and space efficient arrays of bytes accessed
via a List interface, along with fast IO on those strings. FPS is, in
particular, suited for heavy duty string and IO projects.  It is also
useful for applications that must pass strings back and forward from C.

Version 0.2 features a number of improvements over v0.1.

* Its faster!

* There is a richer interface.

* More support for converting between C, Addr# and Haskell strings.
  (in particular, there are 0-copy functions to create FPS strings
  from Addr# and to create CStrings from FPS')

Get it here:

Homepage:http://www.cse.unsw.edu.au/~dons/fps.html
Interface:   http://www.cse.unsw.edu.au/~dons/fps/Data.FastPackedString.html

FTP: ftp://ftp.cse.unsw.edu.au/pub/users/dons/fps/fps-0.2.tar.gz
darcs:   darcs get --partial http://www.cse.unsw.edu.au/~dons/code/fps

Cheers,
  Don



Here are benchmarking results for 20M strings, for versions 0.1 and 0.2
of FPS, compared against Simon Marlow's prototype packedstring code, the
current Data.PackedString library and traditional [Char] functions.

Functions that are only provided by FPS (such as the various CString
routines) are not tested.

Key: FPS2 = Fast Packed String v2
 FPS1 = Fast Packed String v1
 SPS  = Simon Marlow's packedstring prototype
 PS   = Data.PackedString
 [a]  = [Char]

 ~= unchanged from FPS2
 -= no function exists
 != stack or memory exhaustion

Size of test data: 21256k
Time in seconds.

FPS2FPS1SPS PS* [a]
++  0.078   ~   !   !   1.288   
length  0.000   ~   0.000   0.000   0.131   
pack0.345   2.043   0.502   0.337   -   
unpack  1.596   ~   1.630   7.445   -   
compare 0.000   ~   0.000   0.000   0.000   
index   0.000   ~   0.000   0.000   0.000   
map 2.664   4.283   2.917   4.813   7.286   
filter  0.282   0.482   2.805   0.954   0.305   
take0.000   ~   0.000   0.024   0.005   
drop0.000   ~   0.000   11.768  0.130   
takeWhile   0.000   ~   1.498   0.000   0.000   
dropWhile   0.000   ~   1.985   8.447   0.130   
span0.000   ~   9.289   11.144  0.131   
break   0.000   ~   9.383   11.268  0.133   
lines   0.421   ~   1.114   1.367   2.790   
unlines 0.121   ~   !   !   10.950  
words   2.115   3.202   2.128   5.644   4.184   
unwords 0.058   ~   !   !   1.305   
reverse 0.024   4.606   12.997  13.018  1.622   
concat  0.029   ~   12.701  11.459  1.163   
cons0.016   3.094   2.064   8.358   0.131   
snoc0.017   1.536   -   -   -   
empty   0.000   ~   0.000   0.000   0.000   
head0.000   ~   0.000   0.000   0.000   
tail0.000   ~   0.000   14.490  0.130   
last0.000   ~   -   -   0.143   
init0.000   ~   -   -   1.147   
inits   5.350   -   -   -   !   
tails   6.634   -   -   -   1.136   
intersperse 0.034   4.590   -   -   10.517  
concatMap   !   -   -   -   1.131   
any 0.000   ~   -   -   0.000   
all 0.000   ~   -   -   0.000   
sort14.380  15.773  -   -   !
maximum 0.024   ~   -   -   0.183   
minimum 0.025   ~   -   -   0.185   
replicate   0.008   ~   -   -   0.053   
elem0.000   ~   1.490   0.001   0.000   
find0.278   0.366   -   -   0.000   
elemIndex   0.000   ~   -   -   0.000   
elemIndicies4.192   ~   -   -   0.314   

* Note that it is not possible to directly read a string larger than 1M
into a Data.PackedString (due to a space leak). Instead you need to use
packString
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: April 17, 2006

2006-04-16 Thread Donald Bruce Stewart

  Haskell Weekly News: April 17, 2006

   Greetings, and thanks for reading issue 33 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available. Headlines also go to
   [4]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed
   4. http://haskell.org/

Announcements

 * Halfs, a Haskell filesystem. Isaac Jones [5]announced the first
   release of Halfs, a filesystem written in Haskell. Halfs can be
   mounted and used like any other Linux filesystem, or used as a
   library. Halfs is a fork (and a port) of the filesystem developed
   by Galois Connections. In addition, Halfs comes with a virtual
   machine to make using it extremely easy. You don't need an extra
   partition or a thumb drive, or even Linux (Windows and Mac OS can
   emulate the virtual machine). See more at [6]the Halfs site.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/13550
   6. http://www.haskell.org/halfs/

 * DrIFT-2.2.0. John Meacham [7]released DrIFT-2.2.0, the type
   sensitive preprocessor for Haskell. It extracts type declarations
   and directives from modules. The directives cause rules to be
   fired on the parsed type declarations, generating new code which
   is then appended to the bottom of the input file. Read more
   [8]here.

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/13541
   8. http://repetae.net/john/computer/haskell/DrIFT/

 * MissingH 0.14.2. John Goerzen [9]announced version 0.14.2 of
   MissingH, the library of "missing" Haskell code. Now including
   support for shell globs, POSIX-style wildcards and more. Check
   [10]here for more details.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/13555
  10. http://quux.org/devel/missingh

 * HAppS - Haskell Application Server 0.8 Einar Karttunen
   [11]announced HAppS 0.8. The Haskell Application Server version
   0.8 contains a complete rewrite of the ACID and HTTP
   functionalities. Features include:

  + MACID - Monadic framework for ACID transactions.
  + An HTTP Server (outperforms Apache/PHP in informal benchmarks).
  + An SMTP Server.
  + Mail delivery agent.
  + DNS resolver in pure Haskell
  + XML and XSLT. Separate application logic from presentation using 
XML/XSLT.
  + And more..

   More information on the [12]the HAppS page.

  11. http://article.gmane.org/gmane.comp.lang.haskell.general/13557
  12. http://happs.org/

 * Index-aware linear algebra. Frederik Eaton [13]announced an
   index-aware linear algebra library written in Haskell. The library
   exposes index types and ranges so that static guarantees can be
   made about the library operations (e.g. an attempt to add two
   incompatibly sized matrices is a static error). Frederik's
   motivation is that a good linear algebra library which embeds
   knowledge of the mathematical structures in the type system, such
   that misuse is a static error, could mean Haskell makes valuable
   contribution in the area of technical computing, currently
   dominated by interpreted, weakly typed languages.

  13. http://article.gmane.org/gmane.comp.lang.haskell.general/13561

 * Crypto-3.0.3. Dominic Steinitz [14]announced Crypto-3.0.3, a new
   version of the Haskell Cryptography Library. Version 3.0.3
   supports: DES, Blowfish, AES, Cipher Block Chaining (CBC), PKCS#5
   and nulls padding, SHA-1, MD5 , RSA, OAEP-based encryption
   (Bellare-Rogaway), PKCS#1v1.5 signature scheme, ASN.1, PKCS#8,
   X.509 Identity Certificates, X.509 Attribute Certificates. See
   [15]here for more.

  14. http://article.gmane.org/gmane.comp.lang.haskell.general/13564
  15. http://www.haskell.org/crypto

Haskell'

   This section covers activity on [16]Haskell' standardisation process.
 * [17]Concurrency and FFI status
 * [18]On Unicode
 * [19]The goals of the concurrency standard
 * [20]Preemptive versus cooperative scheduling
 * [21]Postponing deepSeq and exceptions discussion
 * [22]Defaults for superclass methods
 * [23]Collecting requirements for FDs
 * [24]FDs and confluence
 * [25]Network IO

  16. http://hackage.haskell.org/trac/haskell-prime
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1409/focus=1409
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1404/focus=1404
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1361/focus=1361
  20. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1354/focus=1354
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1352/focus=1352
  22. http://thread.gmane.org/gmane.comp.lang

[Haskell] Haskell Weekly News: April 10, 2006

2006-04-10 Thread Donald Bruce Stewart

  Haskell Weekly News: April 10, 2006

   Greetings, and thanks for reading issue 32 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available. Headlines also go to
   [4]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed
   4. http://haskell.org/

Announcements

   hImerge: a graphical user interface for emerge. Luis Araujo released
   [5]hImerge, a graphical user interface for emerge, (Gentoo's Portage
   system) written in Haskell using gtk2hs. [6]Here's a jpg. The main
   idea is to simplify browsing the entire portage tree as well as of
   running the most basic and common options from the emerge command.
   hImerge also offers several handy tools, like global and local use
   flags browsers, and a minimal web browser.

   5. http://haskell.org/~luisfaraujo/himerge/
   6. http://haskell.org/~luisfaraujo/rhimerge.jpeg

   MissingH 0.14.0. John Goerzen [7]announced MissingH 0.14.0, a library
   of "missing" functions. MissingH is available [8]here.

   7. http://article.gmane.org/gmane.comp.lang.haskell.general/13531
   8. http://quux.org/devel/missingh/

   Haskell mailing list archives. Don Stewart [9]converted the Haskell
   mailing list archives from 1990-2000, into html format. The archive is
   available to view [10]here.

   9. http://article.gmane.org/gmane.comp.lang.haskell.general/13521
  10. http://www.cse.unsw.edu.au/~dons/haskell-1990-2000/threads.html

   Chapter 4 of Hitchhikers Guide to the Haskell. Dmitry Astapov
   [11]announced that the 4th chapter of the Hitchhikers Guide to Haskell
   is now [12]available.

  11. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12338
  12. http://www.haskell.org/haskellwiki/Hitchhikers_Guide_to_the_Haskell

   Edison 1.2 rc3. Robert Dockins [13]announced that the 3rd release
   candidate for Edison 1.2 is now avaliable.

  13. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4508

Haskell'

   This section covers activity on [14]Haskell' standardisation process.
 * [15]State threads
 * [16]Terminating instances
 * [17]deriving Tree
 * [18]deriving Typeable
 * [19]deriving for newtypes
 * [20]deepSeq
 * [21]Asynchronous exceptions
 * [22]Exceptions

  14. http://hackage.haskell.org/trac/haskell-prime
  15. http://article.gmane.org/gmane.comp.lang.haskell.prime/1197
  16. http://article.gmane.org/gmane.comp.lang.haskell.prime/1203
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1218/focus=1218
  18. http://article.gmane.org/gmane.comp.lang.haskell.prime/1243
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1219/focus=1219
  20. http://article.gmane.org/gmane.comp.lang.haskell.prime/1266
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1222/focus=1222
  22. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1282/focus=1282

Code watch

Wed Apr  5 06:33:44 PDT 2006  Simon Marlow
  * add support for x86_64; foreign import is now supported in GHCi on 
x86_64

Thu Apr  6 10:57:53 PDT 2006  Lemmih
  * GHC.Base.breakpoint isn't vaporware anymore.

  -fignore-breakpoints can be used to ignore breakpoints.

Thu Apr  6 19:05:11 PDT 2006  Simon Marlow
  * Reorganisation of the source tree

  Most of the other users of the fptools build system have migrated to
  Cabal, and with the move to darcs we can now flatten the source tree
  without losing history, so here goes.

  The main change is that the ghc/ subdir is gone, and most of what it
  contained is now at the top level.  The build system now makes no
  pretense at being multi-project, it is just the GHC build system.

Quotes of the Week

JaffaCake :: gcc is getting smarter, so we need to hit it with a bigger 
stick

ihope :: Oops, I forgot that Djinn doesn't do GADT's.

malig :: quantum mechanics actually strikes me as less weird than lazy
evaluation sometimes. at least it disallows time travel

Contributing to HWN

   Thanks to Luis Araujo for help preparing this issue.

   You can help us create new editions of this newsletter. Please see the
   [23]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

  23. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] haskell@ archives, 1990-2000

2006-04-03 Thread Donald Bruce Stewart
dons:
> I managed, with the help of some custom hacks, to convert Simon's
> tarball of the haskell@ archives from 1990-2000 into html.

By the way, this was in the context of writing up the HWN-style news
over that decade, here:
http://haskell.org/haskellwiki/Old_news

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] haskell@ archives, 1990-2000

2006-04-03 Thread Donald Bruce Stewart
I managed, with the help of some custom hacks, to convert Simon's
tarball of the haskell@ archives from 1990-2000 into html.

I've hosted the lot here:
http://www.cse.unsw.edu.au/~dons/haskell-1990-2000/threads.html

I'm not sure these archives are available anywhere else, other than the
tarball on SPJs page, here

http://research.microsoft.com/~simonpj/haskell/haskell-email-11Sep1990-27Oct2000.gz

Enjoy reading about the problems of n+k and why Haskell needs a binary IO 
class, 
way back in 1990 :)

-- Don

P.S. if you find oddities in the conversion, let me know.
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: April 03, 2006

2006-04-02 Thread Donald Bruce Stewart

  Haskell Weekly News: April 03, 2006

   Greetings, and thanks for reading issue 31 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available. Headlines also go to
   [4]haskell.org.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed
   4. http://haskell.org/

Haskell'

   This section covers activity on [5]Haskell' standardisation process.
 * FFI, 'safe' and 'unsafe', parts [6]1 and [7]2
 * [8]newtype deriving
 * [9]Standardise deepSeq
 * [10]MVar semantics
 * [11]Thread priorities
 * Concurrency, parts [12]1, [13]2 and [14]3.
 * [15]FD improvement, variable quantification & generalised
   propagation

   5. http://hackage.haskell.org/trac/haskell-prime
   6. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1089
   7. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1178
   8. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1145
   9. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1151
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1152
  11. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1155
  12. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1174
  13. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1179
  14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/1183
  15. http://article.gmane.org/gmane.comp.lang.haskell.prime/1193

Discussion

 * Mobile Haskell. Dmitri O.Kondratiev [16]asked about running
   Haskell on a PowerPC Windows Mobile device. John Meacham
   [17]responded with some interesting notes regarding Haskell on the
   Nokia 770.

  16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12165
  17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12173

 * GHCi as a debugger. Lemmih [18]wrote on "whether it would be
   possible to call GHCi from interpreted byte-code. It turned out
   that it was, and it was even fairly easy". Great stuff!

  18. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/14166

 * Clearer reflection. Krasimir Angelov [19]proposed some ideas for a
   better Reflection API for Haskell. Currently we have Typeable and
   Data classes which provide some pieces of information about the
   data types at runtime. typeOf provides runtime information about
   the type of a given variable. dataTypeOf provides almost the same
   information but with some extras. There is some overlap between
   the TypeRep and DataType types. Some pieces of information you can
   get from the TypeRep, other from the DataType and some other from
   both of them. There is also an information which is inaccessible
   from either TypeRep and DataType.

  19. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4500

Quotes of the Week

Seen on #haskell:
Lemmih:: calling an out-of-scope function isn't as easy as I had hoped

TuringTest:: They got it work in Haskell without understanding Haskell.
It is quite an achievement, of some description.

tennin:: [very #haskell] anyone know of any good books/papers on the
application of category theory to databases?

Smokey`:: I can't believe it, Haskell is starting to draw me away from
C++... I swore i'd never turn from C++

Contributing to HWN

   You can help us create new editions of this newsletter. Please see the
   [20]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

  20. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 27, 2006

2006-03-28 Thread Donald Bruce Stewart

  Haskell Weekly News: March 27, 2006

   Greetings, and thanks for reading issue 30 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   A busy, exciting week!

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * monadLib 2.0. Iavor Diatchki [4]announced the release of monadLib
   2.0 -- library of monad transformers for Haskell. 'monadLib' is a
   descendent of 'mtl', the monad template library that is
   distributed with most Haskell implementations. Check out the
   [5]library web page.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13460
   5. http://www.csee.ogi.edu/~diatchki/monadLib

 * Text.Regex.Lazy (0.33). Chris Kuklewicz [6]announced the release
   of [7]Text.Regex.Lazy. This is an alternative to Text.Regex along
   with some enhancements. GHC's Text.Regex marshals the data back
   and forth to C arrays, to call libc. This is far too slow (and
   strict). This module understands regular expression Strings via a
   Parsec parser and creates an internal data structure
   (Text.Regex.Lazy.Pattern). This is then transformed into a Parsec
   parser to process the input String, or into a DFA table for
   matching against the input String or FastPackedString. The input
   string is consumed lazily, so it may be an arbitrarily long or
   infinite source.

   6. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4464
   7. http://sourceforge.net/projects/lazy-regex

 * HDBC 0.99.2. John Goerzen [8]released HDBC 0.99.2, along with
   0.99.2 versions of all database backends. John says "If things go
   well, after a few weeks of testing, this version will become HDBC
   1.0.0". [9]HDBC is a multi-database interface system for Haskell.

   8. http://article.gmane.org/gmane.comp.lang.haskell.general/13504
   9. http://quux.org/devel/hdbc

 * Planet Haskell. Isaac Jones [10]asked if someone could volunteer
   to set up "Planet Haskell", an RSS feed aggregator in the style of
   Planet Debian, Planet Gnome or Planet Perl. Happily, Antti-Juhani
   Kaijanaho stepped up, and now Planet Haskell is live at
   [11]http://planet.haskell.org. Antti-Juhani asks that any Haskell
   people with blogs submit their feed urls to him, so check it out!

  10. http://article.gmane.org/gmane.comp.lang.haskell.cafe/12033
  11. http://planet.haskell.org/

 * Haskell on Gentoo Linux Duncan Coutts [12]writes that GHC 6.4.1
   has been marked stable on x86, amd64, sparc and ppc, for
   [13]Gentoo Linux. (We also support ppc64, alpha and hppa.) Gentoo
   also has a collection of over 30 Haskell libraries and tools.
   There is also a #gentoo-haskell [14]irc channel on freenode.

  12. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/9557
  13. http://packages.gentoo.org/search/?sstring=ghc
  14. http://haskell.org/haskellwiki/IRC_channel

 * Concurrent Yhc. The Yhc dev team [15]reports that Yhc now includes
   support for concurrency! The interface is the same as Concurrent
   GHC. Currently only
  + Control.Concurrent
  + Control.Concurrent.MVar
  + Control.Concurrent.QSem
   are implemented, however many other abstractions can be written in
   Haskell in terms of MVars.

  15. http://www.haskell.org//pipermail/yhc/2006-March/85.html

 * GHC 6.4.2 Release Candidates Simon Marlow [16]announced that GHC
   was moving into release-candidate mode for version 6.4.2. [17]Grab
   a snapshot and try it out. The available builds are:
   x86_64-unknown-linux (Fedora Core 5), i386-unknown-linux (glibc
   2.3 era), and Windows (i386-unknown-mingw32). Barring any serious
   hiccups, the release should be out in a couple of weeks.

  16. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/9588
  17. http://www.haskell.org/ghc/dist/stable/dist/

 * HaRe 0.3. Sneaking out without us noticing, in January, a [18]new
   snapshot of HaRe, the Haskell refactoring tool, was released. This
   snapshot of HaRe 0.3 is now compatible with the latest GHC and
   Programmatica. New refactorings have also been added.

  18. http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html

Haskell'

   This section covers activity on [19]Haskell' standardisation process.
 * [20]Bringing discusison to a close
 * [21]Time to focus discussion
 * [22]Collections interface
 * [23]MonadPlus reform
 * [24]Strict tuples
 * [25]seq as a class method
 * [26]Alternatives to . for composition
 * [27]Concurrency
 * [28]Pre-emptive or co-operative concurrency
 * [29]Liberal type synonyms

  19. http://hackage.

Re: [Haskell] Haskell as a disruptive technology?

2006-03-26 Thread Donald Bruce Stewart
paul:
> Neil Mitchell wrote:
> 
> >>>- Larger memory footprint
> > 
> >
> >You are talking about GHC, not Haskell. Take a look at nhc98, which
> >has a small memory footprint.
> 
> I don't want to get into a compiler flame war.  The fact is that if you 
> want to do huge datasets or very fast computation (the two tend to go 
> together) then Haskell is the wrong language.  This isn't an attack on 
> Haskell, its a straightforward look at the strengths and weaknesses of the 
> language.

It's not always clear that it won't work for very fast computation:

http://shootout.alioth.debian.org/gp4/benchmark.php?test=partialsums&lang=all

In general I would say GHC/Haskell was very very fast, as long as you
know what you're doing.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 20, 2006

2006-03-19 Thread Donald Bruce Stewart

  Haskell Weekly News: March 20, 2006

   Greetings, and thanks for reading issue 29 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * lhs2TeX version 1.11. Andres Loeh [4]announced lhs2TeX version
   1.11, a preprocessor to generate LaTeX code from literate Haskell
   sources.
   lhs2TeX includes the following features:
  + Highly customized output.
  + Liberal parser -- no restriction to Haskell 98.
  + 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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13414

Haskell'

   This section covers activity on [5]Haskell'.
 * [6]Dropping implicit universal quantification
 * [7]Refine overlap handling for instance declarations
 * [8]Ranges and the Enum class
 * [9]Strict tuples
 * [10]Time library
 * [11]Associated types

   5. http://hackage.haskell.org/trac/haskell-prime
   6. http://thread.gmane.org/gmane.comp.lang.haskell.prime/914
   7. http://thread.gmane.org/gmane.comp.lang.haskell.prime/918
   8. http://thread.gmane.org/gmane.comp.lang.haskell.prime/937
   9. http://thread.gmane.org/gmane.comp.lang.haskell.prime/948
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/949
  11. http://article.gmane.org/gmane.comp.lang.haskell.prime/944

Discussion

 * Deep Functors. Oleg Kiselyov [12]described an fmap over
   arbitrarily deep `collections': lists of maybes of maps of IOs,
   etc. -- arbitrarily nested fmappable things.

  12. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11951

 * GHC 6.4.2. Simon Marlow [13]put out a heads up for the forthcoming
   6.4.2 release of GHC. The rough timescale is to go into release
   candidate testing in about a week, and have two weeks of release
   candidates before the final release.

  13. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13935

 * Hexdump. Dominic Steinitz [14]mentioned a "hexdump" function he'd
   written, posing a question about where it would live in the module
   hierarchy..

  14. http://news.gmane.org/gmane.comp.lang.haskell.libraries

Quote of the Week

   ihope :: My factorial function uses GADTs.

Contributing to HWN

   You can help us create new editions of this newsletter. Please see the
   [15]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

  15. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-18 Thread Donald Bruce Stewart
claus.reinke:
> >So, the frontpage now has recent news, with our icfp prize at the top.
> >Opinions? 
> 
> do I understand correctly that the top items under "News" will be 
> updated manually and less frequently, to hold items that are deemed
> more important, or more permanent, than the usual headline. and the 
> rest of it is now an automatic feed?

Yes. That's the idea.

All the old news, and the entire HWN announcments archive, is now
available in the Old_news page.

New items get added each week, when the HWN comes out, pushing the
oldest items back on to the Old_news page.

> good in general, and thanks for making the change, but:
> 
> please put the Haskell-prime effort back into the into the permanent 
> top of the "News" section (does noone care about the language this 
> is all about??). when the time comes around for the next communities
> report, it would also go in there again, for at least a month before
> and after release, but for now, it is fine in the "Community" section.

Ok. Done.

> since the feed covers announcements, and not all of those end up
> with a link on haskell.org otherwise, that pointer to the feed archive 
> from the libraries and tools section is likely to be very helpful.

I don't understand what you are suggesting here. Can you elaborate?

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-17 Thread Donald Bruce Stewart
sebastian.sylvan:
> The ICFP boasting could be moved elsewhere (perhaps put the quote at
> the very top under the logo), the rest of the items seem "regular"
> enough to be popped off the news list just like any other HWN-type
> news.
> The only regularly occuring news that really need to stick around for
> longer are events announcements, IMO, and we already have a separate
> feed for that right on the front page as well.
> 
> So, I think the best plan is to have the HWN stuff under "news" from
> now on, keep the events feed, and put any other "important" news in a
> case-by-case appropriate place (e.g. putting the "discriminate
> hackers" quote somewhere on the front page).


Ok. Done!

It looks much nicer, I agree.

So, the frontpage now has recent news, with our icfp prize at the top.
Then if you go to 'Old news' you get hwn news back to 2005, and then
the haskell.org news going back to 2001. I merged the frontpage
haskell.org news into the 2005 news.

Opinions? 

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-17 Thread Donald Bruce Stewart
sebastian.sylvan:
> On 3/17/06, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:
> > rjmh:
> > > >With a view to this I started collecting just the announcements on a
> > > >`feed' here:
> > > >   http://www.cse.unsw.edu.au/~dons/code/hwn/announce.html
> > > >
> > > >These should serve as a basis for the content, I think.
> > >
> > > Can you add an actual date? Seeing things dated a few days ago does
> > > contribute to a feeling of great activity, I think.
> >
> > Done!  haskell.org now takes a feed of all hwn headlines.
> >
> > :)
> 
> Great!
> Just one question though, do we really need two news-sections? I
> originally meant replacing the current "news" with a HWN feed (since
> the former is so rarely updated anyway), not adding another feed.
> What do the rest of you think?

Well, I just didn't want to wipe the 'important' news items.
Not quite sure what to do here.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-17 Thread Donald Bruce Stewart
antti-juhani:
> Donald Bruce Stewart wrote:
> > Well, there is a way -- it's fairly easy with the right regex --  but
> > is it really ambiguous? Do people find it confusing? What do other sites do?
> 
> Yes, it's annoying (it isn't ambigous right now, but it will be again
> early next month). Either use an inherently unambiguous format (anything
> that writes out or abbreviates the month, instead of using digits), or
> use the international standard -MM-DD (which is unambiguous by ISO
> fiat).

Ok, I'll switch it to -MM-DD :)

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-16 Thread Donald Bruce Stewart
Well, there is a way -- it's fairly easy with the right regex --  but
is it really ambiguous? Do people find it confusing? What do other sites do?

-- Don

jupdike:
> The dates on the feed are in international (non-US) order, i.e. Mar 13
> 2006 = 13/03/2006. Is there a way to make this unambiguous by changing
> the month to a word instead of a number? Just curious...
> 
>Jared.
> 
> On 3/16/06, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:
> > rjmh:
> > > >With a view to this I started collecting just the announcements on a
> > > >`feed' here:
> > > >   http://www.cse.unsw.edu.au/~dons/code/hwn/announce.html
> > > >
> > > >These should serve as a basis for the content, I think.
> > >
> > > Can you add an actual date? Seeing things dated a few days ago does
> > > contribute to a feeling of great activity, I think.
> >
> > Done!  haskell.org now takes a feed of all hwn headlines.
> >
> > :)
> >
> > Cheers,
> >  Don
> > ___
> > Haskell mailing list
> > Haskell@haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell
> >
> 
> 
> --
> http://www.updike.org/~jared/
> reverse ")-:"
> ___
> Haskell mailing list
> Haskell@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-16 Thread Donald Bruce Stewart
rjmh:
> >With a view to this I started collecting just the announcements on a
> >`feed' here:
> >   http://www.cse.unsw.edu.au/~dons/code/hwn/announce.html
> >
> >These should serve as a basis for the content, I think.
> 
> Can you add an actual date? Seeing things dated a few days ago does 
> contribute to a feeling of great activity, I think.

Done!  haskell.org now takes a feed of all hwn headlines.

:)

Cheers, 
 Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Haskell Weekly News: March 13, 2006

2006-03-15 Thread Donald Bruce Stewart
sebastian.sylvan:
> On 3/13/06, Donald Bruce Stewart <[EMAIL PROTECTED]> wrote:
> >
> >   Haskell Weekly News: March 13, 2006
> >
> >Greetings, and thanks for reading issue 28 of HWN, a weekly newsletter
> >covering developments in the Haskell community. Each Monday, new
> >editions are posted to [1]the Haskell mailing list and to [2]The
> >Haskell Sequence. [3]RSS is also available.
> 
> May I just make a request (I do it on the list so that anyone who
> doesn't agree can speak up): Put the HWN in the haskell.org website
> (in the news section). It probably should be trimmed down to the more
> generally interesting things (such as library announcements).
> 
> A lot of people wouldn't subscribe to a mailing list for a language,
> but could benefit from these news. Also, it lets a casual visitor know
> that the Haskell community is active (if they see a bunch of news post
> dated a few days ago).

With a view to this I started collecting just the announcements on a
`feed' here:
http://www.cse.unsw.edu.au/~dons/code/hwn/announce.html

These should serve as a basis for the content, I think.

Now, how would people like these added? 2 or 3 a week will quickly push
some things further down. Any opinions on the format?

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 13, 2006

2006-03-12 Thread Donald Bruce Stewart

  Haskell Weekly News: March 13, 2006

   Greetings, and thanks for reading issue 28 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * Alternative to Text.Regex. Chris Kuklewicz [4]announced an
   alternative to Text.Regex. While working on the [5]language
   shootout, Chris implemented a new efficient regex engine, using
   parsec. It contructs a parser from a string representation of a
   regular expression.

   4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11825
   5. http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all

 * pass.net. S. Alexander Jacobson [6]launched Pass.net. Written in
   Haskell, using HAppS, Pass.net lets websites replace registration,
   confirmation mails, and multiple passwords with a single login,
   authenticating via their email domain.

   6. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11824

Haskell'

   This section covers activity on [7]Haskell'.
 * [8]Partial application syntax
 * [9]Extending the `...` notation
 * [10]The dreaded offside rule
 * [11]Strictness standardization

   7. http://hackage.haskell.org/trac/haskell-prime
   8. http://thread.gmane.org/gmane.comp.lang.haskell.prime/874
   9. http://thread.gmane.org/gmane.comp.lang.haskell.prime/881
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/883
  11. http://thread.gmane.org/gmane.comp.lang.haskell.prime/901

Discussion

 * Non-trivial markup transformations. Further on last week's article
   on encoding markup in Haskell, Oleg Kiselyov [12]demonstrates
   non-trivial transformations of marked-up data, markup
   transformations by successive rewriting (aka, `higher-order tags')
   and the easy definition of new tags.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/13393

 * Popular libraries and tools. John Hughes [13]posted (and [14]here)
   some interesting figures on the most important libraries and
   tools, based on the results of his survey of users earlier this
   year.

  13. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/11829
  14. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/11875

 * haskell-prime fun. Just for fun, Ross Paterson [15]posted, some
   thought-provoking [16]statistics on haskell-prime traffic.

  15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11831
  16. http://www.soi.city.ac.uk/~ross/haskell-prime-stats/

 * New collections package. Jean-Philippe Bernardy [17]hinted that
   his new collections package is almost done.

  17. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13880

 * Is notMember not member? John Meacham [18]sparked a bit of a
   discussion on whether negated boolean functions are useful with a
   patch adding Data.Set and Data.Map.notMember.

  18. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/4411

 * Namespace games. In a similar vein, Don Stewart [19]triggered
   discussion on how to sort the hierarchical namespace, when
   proposing alternatives to the longish Text.ParserCombinators
   module name.

  19. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/4383

Darcs Corner

 * Darcs-server. Unsatisified with the current techniques for
   centralised development with darcs, Daan Leijen went ahead and
   [20]wrote darcs-server. With darcs-server you can:

  + push changes remotely via a CGI script
  + or push changes via a single SSH account that serves many
users
  + use cryptographic verification and authorization of users for
reading and writing
  + use gpg encryption (for CGI)
  + use non-public repositories that can only be accessed by
authorized users.

  20. http://thread.gmane.org/gmane.comp.version-control.darcs.user/9686

 * darcsweb 0.15, by Alberto Bertogli, has been [21]released.

  21. http://article.gmane.org/gmane.comp.version-control.darcs.user/9664

Contributing to HWN

   You can help us create new editions of this newsletter. Please see the
   [22]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

  22. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: March 06, 2006

2006-03-06 Thread Donald Bruce Stewart

  Haskell Weekly News: March 06, 2006

   Greetings, and thanks for reading issue 27 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * Haskell as a markup language. Oleg Kiselyov [4]writes on using
   Haskell to represent semi-structured documents and the rules of
   their processing. [5]SXML is embedded directly in Haskell, with an
   open and extensible set of `tags'. The benefit of this is of
   course in static type guarantees, such as prohibiting an H1
   element to appear in the character content of other elements.

   4. http://www.haskell.org/pipermail/haskell/2006-March/017656.html
   5. http://ssax.sourceforge.net

 * hmp3 1.0. Don Stewart [6]released hmp3 version 1. hmp3 is a
   curses-based mp3 player written in Haskell, designed to be fast,
   small and stable.

   6. http://www.haskell.org/pipermail/haskell/2006-March/017674.html

 * Edison 1.2rc2. Robert Dockins [7]announced the second release
   candidate for Edison 1.2 is now ready for comments.

   7. http://www.haskell.org/pipermail/libraries/2006-March/004983.html

Haskell'

   This section covers activity on [8]Haskell'.
 * [9]Overlapping instances and constraints
 * [10]realToFrac
 * [11]instance Functor Set
 * [12]Keep the present Haskell record system!
 * [13]Relaxed instance rules spec
 * [14]Collections
 * [15]Partial type signatures/annotations/declarations..
 * [16]How to create a proposal

   8. http://hackage.haskell.org/trac/haskell-prime
   9. http://www.haskell.org/pipermail/haskell-prime/2006-February/000783.html
  10. http://www.haskell.org/pipermail/haskell-prime/2006-February/000791.html
  11. http://www.haskell.org/pipermail/haskell-prime/2006-March/000834.html
  12. http://www.haskell.org/pipermail/haskell-prime/2006-March/000836.html
  13. http://www.haskell.org/pipermail/haskell-prime/2006-March/000837.html
  14. http://www.haskell.org/pipermail/haskell-prime/2006-March/000854.html
  15. http://www.haskell.org/pipermail/haskell-prime/2006-March/000861.html
  16. http://www.haskell.org/pipermail/haskell-prime/2006-March/000867.html

Discussion

 * Library Reorganisation. Simon Marlow [17]opened up a discussion on
   library reorganisation, in the light of the oncoming Haskell'.

  17. http://www.haskell.org/pipermail/libraries/2006-March/004965.html

 * Deprecating FunctorM. Ross Paterson [18]proposes to replace
   FunctorM with Data.Traversable.

  18. http://www.haskell.org/pipermail/libraries/2006-March/004966.html

 * cabal-setup. Simon Marlow [19]posted a patch to wrap the Setup.hs
   Cabal script with a generic cabal-setup interface.

  19. http://www.haskell.org/pipermail/libraries/2006-March/004966.html

Code Watch

  * Make -split-objs work with --make
  Thu Mar  2 09:05:05 PST 2006  Simon Marlow

  This turned out to be a lot easier than I thought.  Just moving a few
  bits of -split-objs support from the build system into the compiler
  was enough.  The only thing that Cabal needs to do in order to support
  -split-objs now is to pass the names of the split objects rather than
  the monolithic ones to 'ar'.

Quotes of the Week

[OConnor's Law]
roconnor :: As an online discussion of static types vs dynamic types
grows longer, the probability of mentioning heterogenous
lists approaches 1.

[Lemmih's Law]
Lemmih ::   Every 18 months, compilers will make their warnings and
error message s twice as cryptic

Claus Reinke :: The point about overlapping instances is that they 
shouldn't.

Contributing to HWN

   You can help us create new editions of this newsletter. Please see the
   [20]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

  20. http://haskell.org/haskellwiki/HWN
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] ANNOUNCE: hmp3 1.0

2006-03-05 Thread Donald Bruce Stewart
A new version of hmp3 has been released, version 1.0.

All features that I'm interested in are implemented  (and it appears to be
extremely stable, running non-stop for the last 3 months on one machine).  This
release adds the ability to dynamically reconfigure the colours using a
configuration file.
   
Available as a cabalised src tarball, a darcs repo, and binaries for 
(currently):
* Linux/x86

It is also known to run on FreeBSD, OpenBSD, OSX and Irix/mips64.

   http://www.cse.unsw.edu.au/~dons/hmp3.html

Cheers,
  Don

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] Problems compiling hs-plugins

2006-03-03 Thread Donald Bruce Stewart
benjamin.franksen:
> Please, can anyone help me with this problem:
> 
> I just downloaded hs-plugins version 1.0-rc0. (BTW, the stable version 
> is not accessible). I configure it (according to the README) and 
> everything seems to be ok. However when I try to build it, I get:
> 
> aare: .../haskell/hs-plugins > ./Setup.lhs build
> Setup.lhs: Warning: The field "hs-source-dir" is deprecated, please use 
> hs-source-dirs.
> Preprocessing library plugins-1.0...
> Building plugins-1.0...
> Chasing modules from: 
> AltData.Dynamic,AltData.Typeable,Language.Hi.Binary,Language.Hi.FastMutInt,Language.Hi.FastString,Language.Hi.Parser,Language.Hi.PrimPacked,Language.Hi.Syntax,System.Eval,System.Eval.Haskell,System.Eval.Utils,System.MkTemp,System.Plugins,System.Plugins.Consts,System.Plugins.Env,System.Plugins.Load,System.Plugins.LoadTypes,System.Plugins.Make,System.Plugins.Package,System.Plugins.PackageAPI,System.Plugins.ParsePkgConfCabal,System.Plugins.Parser,System.Plugins.Process,System.Plugins.Utils
> [ 1 of 24] Compiling AltData.Typeable ( src/AltData/Typeable.hs, 
> dist/build/AltData/Typeable.o )
> 
> src/AltData/Typeable.hs:452:0:
> parse error (possibly incorrect indentation)
> 
> 
> Looking at the source reveals that src/AltData/Typeable.hs contains 
> macro calls to generate instances for class Typeable, e.g. 
> 
> INSTANCE_TYPEABLE1([],listTc,"[]")
> 
> However, I could not find any definition for these macros. Nor does the 
> package docs mention what to install in order to get them.
> 
> Any ideas? Don?
> 
> Ben

Hi.

Thanks for noticing the missing stable release. Looks like the network
guys tweaked something without telling me. This will get fixed soon.

This Typeable macro issue is due to the Typeable.h header, which used to
be distributed with GHC. It's not distributed with the GHC head anymore
-- are you using ghc 6.5?

You can work around it by copying Typeable.h from the darcs repository
into the include/ directory of your ghc distribution, or using ghc 6.4.x

In the longer term, I'll either distribute my own Typeable.h, or
actually fix the underlying problem with typeables and dynamic linking
that requires this stuff in the first place.

Thanks for the note.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] translating Haskell into theorem provers

2006-02-28 Thread Donald Bruce Stewart
gerwin.klein:
> Hi,
> 
> is any of you aware of activities that aim to translate Haskell into 
> interactive theorem provers like PVS or Isabelle/HOL? (automatically or 
> manually).
> 
> We know about the Programatica project and Brian Huffman's work, but turned 
> up little else.

Hey Gerwin,

One project I can think of is Agda, a theorem prover itself written in
Haskell. At last year's Haskell Workshop, there was a paper describing a
system that translated Haskell into an Agda model of Haskell, if I
recall correctly.

 http://www.tcs.ifi.lmu.de/~abel/haskell05.pdf

This paper also has some references to other work in Haskell.  Perhaps
the Agda people can explain further?

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: February 27, 2006

2006-02-26 Thread Donald Bruce Stewart

Haskell Weekly News: February 27, 2006

   Greetings, and thanks for reading issue 26 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

   A fairly quiet week this week.

Announcements

 * Long Live Edison. Robert Dockins [4]announced he had revived the
   Edison data structure code, and is maintaining a darcs repository,
   with a view to modernising the codebase.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13295

Haskell'

   This section covers activity on [5]Haskell' this week.
 * [6]The hierarchical module system
 * [7]Refactoring the array interface
 * [8]The worst syntax in Haskell
 * [9]Module export lists
 * Public/private sections [10]part 1 and [11]part 2

   5. http://hackage.haskell.org/trac/haskell-prime
   6. http://article.gmane.org/gmane.comp.lang.haskell.prime/619
   7. http://article.gmane.org/gmane.comp.lang.haskell.prime/629
   8. http://article.gmane.org/gmane.comp.lang.haskell.prime/632
   9. http://article.gmane.org/gmane.comp.lang.haskell.prime/721
  10. http://article.gmane.org/gmane.comp.lang.haskell.prime/741
  11. http://article.gmane.org/gmane.comp.lang.haskell.prime/754

Darcs Corner

 * darcsweb 0.15-rc1. Alberto Bertogli [12]announced that a new
   version of darcsweb is available.

  12. http://article.gmane.org/gmane.comp.version-control.darcs.user/9535

Contributing to HWN

   You can help us create new editions of this newsletter. Please see the
   [13]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

  13. http://haskell.org/haskellwiki/HWN

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell] page renaming on the Haskell Wiki

2006-02-21 Thread Donald Bruce Stewart
cubranic:
> On 2/21/06, Graham Klyne <[EMAIL PROTECTED]> wrote:
> > In making such changes, please bear in mind "Cool URIs Don't Change":
> >
> >  http://www.w3.org/Provider/Style/URI
> >
> > This isn't to say "don't", but where possible, provide some redirection 
> > from the
> > old name to the new name.
> >
> > To be effective, the web relies on stable links, so that references from
> > elsewhere don't fade away.  In the end, it is publishers own (presumed) 
> > goals in
> > publishing to the Web that are compromised if URIs become inaccessible.
> 
> Although, while the wiki is still so new, it's unlikely that there are
> already links to it so there shouldn't be any harm in moving pages
> created before there was a clear naming policy established.
> Furthermore, I think that pages that were initially created by mistake
> or with misspellings (e.g., "Perforamnce") are fair game for deletion.

Though the renamings (which I agree with) did break some internal links.
I'd be hesitant to do large renamings again.

-- Don
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: February 20, 2006

2006-02-19 Thread Donald Bruce Stewart

Haskell Weekly News: February 20, 2006

   Greetings, and thanks for reading issue 25 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * The Haskell Workshop. Andres Loeh [4]released the initial call for
   papers for the ACM SIGPLAN 2006 [5]Haskell Workshop, to be held at
   Portland, Oregon on the 17 September, 2006.

   The purpose of the [6]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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13273
   5. http://www.haskell.org/haskell-workshop/2006/
   6. http://haskell.org/haskell-workshop/

 * Probability Distributions. Matthias Fischmann [7]released a module
   for sampling arbitrary probability distribution, so far including
   normal (gaussian) and uniform distributions.

   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11511

 * Constructor Classes. Sean Seefried [8]announced an
   [9]implementation of a tool to help explore constructor classes
   (type classes which can take constructors as arguments) described
   in Mark Jones' paper, [10]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.

   8. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11543
   9. http://www.cse.unsw.edu.au/~sseefried/code.html
  10. http://www.cse.ogi.edu/~mpj/pubs/fpca93.html

Haskell'

   This section covers activity on [11]Haskell' this week.

  11. http://hackage.haskell.org/trac/haskell-prime

 * Status Report. Isaac Jones [12]released a Haskell' status report.
   There is a list of proposals and a "strawman" categorization of
   them on [13]the wiki. The [14]timeline is also on the wiki. You'll
   notice that it's very aggressive; we plan to announce something at
   the next Haskell Workshop in September. So, check out the wiki and
   get on the haskell-prime mailing list!

  12. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11506
  13. http://hackage.haskell.org/trac/haskell-prime
  14. http://hackage.haskell.org/trac/haskell-prime/wiki/TimeLine

 * [15]More on strictness
 * [16]FFI Pragmas
 * [17]Pattern synonyms
 * [18]The MPTC Dilemma
 * [19]Labels and the MPTC Dilemma
 * [20]The way forward
 * [21]Export lists
 * [22]First class labels
 * [23]Standardising the compiler interface
 * [24]An existential quantifier

  15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/595
  16. http://thread.gmane.org/gmane.comp.lang.haskell.prime/589
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/577
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/533
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/569
  20. http://thread.gmane.org/gmane.comp.lang.haskell.prime/567
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/563
  22. http://thread.gmane.org/gmane.comp.lang.haskell.prime/560
  23. http://thread.gmane.org/gmane.comp.lang.haskell.prime/542
  24. http://thread.gmane.org/gmane.comp.lang.haskell.prime/557

Discussion

 * Commerical Use of Haskell. Seth Kurtzberg mentioned on the
   #haskell irc channel that he was in the process of deploying a
   commercial application written in Haskell onto a production line
   in Taiwan. The particular application stress tests hardware
   performance and stability.
   Seth writes:

"Once the compiler finally does what I think I'm telling it, the
 programs almost always work the first time, which is really
 amazing. With any substantial effort in C or C++, you are going to
 have hidden problems traceable to type errors.

 Recently, the thing that I was most pleased with was how quickly I
 was able to refactor the hardware stress testing code into network
 performance testing code."

 * RFC: Class-based collections. Jean-Philippe Bernardy [25]released
   an rfc for his initial work on a [26]class-based collections
   framework. The main goal is to have something usable right now,
   making use of generally available haskell extensions for maximum
   usability/portability ratio (or rather product).

  25. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4291
  26. http://hackage.haskell.org/trac/ghc/wiki/CollectionClassF

[Haskell] Haskell Weekly News: February 13, 2006

2006-02-13 Thread Donald Bruce Stewart

Haskell Weekly News: February 13, 2006

   Greetings, and thanks for reading issue 24 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements

 * FFI Imports Packaging Utility. Dimitry Golubovsky [4]announced 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

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13262

 * Haskell in Higher Education. John Hughes [5]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 [6]available on the web.

   5. http://article.gmane.org/gmane.comp.lang.haskell.general/13234
   6. http://www.cs.chalmers.se/~rjmh/Wash/Survey/teaching.htm

Haskell'

   This section covers activity on [7]Haskell' this week.
 * [8]The type and class namespace
 * [9]The monomorphism restriction and performance
 * [10]Haskell' priorities
 * [11]Specifying language extensions
 * [12]FilePath as a data type
 * [13]Objective data on the use of extensions
 * [14]Parallel list comprehensions
 * [15]Tuple representations
 * Restricted data types [16]parts 1, [17]2, and [18]3.
 * Bang patterns [19]parts 1, and [20]2
 * [21]First-class labels
 * [22]Scoped type variables

   7. http://hackage.haskell.org/trac/haskell-prime
   8. http://thread.gmane.org/gmane.comp.lang.haskell.prime/181
   9. http://thread.gmane.org/gmane.comp.lang.haskell.prime/257
  10. http://thread.gmane.org/gmane.comp.lang.haskell.prime/259
  11. http://thread.gmane.org/gmane.comp.lang.haskell.prime/312
  12. http://thread.gmane.org/gmane.comp.lang.haskell.prime/338
  13. http://thread.gmane.org/gmane.comp.lang.haskell.prime/361
  14. http://thread.gmane.org/gmane.comp.lang.haskell.prime/373
  15. http://thread.gmane.org/gmane.comp.lang.haskell.prime/395
  16. http://thread.gmane.org/gmane.comp.lang.haskell.prime/405
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/445
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/471
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/411
  20. http://thread.gmane.org/gmane.comp.lang.haskell.prime/439
  21. http://thread.gmane.org/gmane.comp.lang.haskell.prime/447
  22. http://thread.gmane.org/gmane.comp.lang.haskell.prime/461

Discussion

 * Generic catch in a MonadIO. Oleg Kiselyov [23]forked an
   interesting discussion, with code, on formulating a generic catch
   function.

  23. http://thread.gmane.org/gmane.comp.lang.haskell.general/13247

 * RFC: Streams. Bulat Ziganshin [24]posted a request for feedback on
   the interface of a new Streams library CharEncoding transformers.

  24. http://article.gmane.org/gmane.comp.lang.haskell.general/13249

 * RFC: Time Library 0.3. Ashley Yakely [25]announced the third draft
   of a replacement for the standard time library.

  25. http://thread.gmane.org/gmane.comp.lang.haskell.libraries/4249

 * Eliminating Multiple-Array Bound Checking through Non-dependent .
   Oleg [26]also writes on writing code with non-trivial static
   guarantees in the present-day Haskell (i.e., Haskell98 + rank-2
   types). He describes how to eliminate array bounds checking when
   processing several arrays at a time. The number of arrays to
   process is not statically known. Furthermore, the arrays may have
   different sizes and bounds -- potentially, empty and
   non-overlapping too. Excellent stuff.

  26. http://article.gmane.org/gmane.comp.lang.haskell.general/13259

 * Haskell #1 in Great Language Shootout. As of Friday Haskell is
   ranked [27]overall 1st on the [28]Great Language Shootout, and 2nd
   fastest. Thanks to the following people (in alphabetical order)
   who've contributed code and ideas (and apologies if I've missed
   any one!): Aaron, Alson, Bertram, Bjorn, Branimir, Brian, Bryn,
   Cale, Chris, David, Don,

[Haskell] Haskell Weekly News: February 06, 2006

2006-02-06 Thread Donald Bruce Stewart

Haskell Weekly News: February 06, 2006

   Greetings, and thanks for reading issue 23 of HWN, a weekly newsletter
   covering developments in the Haskell community. Each Monday, new
   editions are posted to [1]the Haskell mailing list and to [2]The
   Haskell Sequence. [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

Announcements and New Code

 * EclipseFP. Thiago Arrais [4]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 [5]project home page.

   4. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11141
   5. http://eclipsefp.sourceforge.net/

 * Class-parameterized classes, and type-level logarithm. Oleg
   Kiselyov [6]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".

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13223

 * Fast mutable variables for IO and ST. Bulat Ziganshin [7]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.

   7. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11230

 * Bang patterns. Strictify yourself up! As seen [8]here, GHC now
   implements [9]bang patterns:
Fri Feb  3 09:51:08 PST 2006  simonpj
  * Add bang patterns

  This commit adds bang-patterns,
enabled by -fglasgow-exts or -fbang-patterns
disabled by -fno-bang-patterns

   8. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13434
   9. http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/BangPatterns

Contributing to HWN

   Ed: apologies for the length this week, as I was a bit rushed.

   You can help us create new editions of this newsletter. Please see the
   [10]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

  10. http://sequence.complete.org/hwn-contrib
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] Haskell Weekly News: January 30, 2006

2006-01-30 Thread Donald Bruce Stewart

 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 [1]the Haskell mailing list and to [2]The Haskell Sequence.
   [3]RSS is also available.

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

New Releases

 * C-- Frontend. Robert Dockins [4]announced the initial alpha
   release of a [5]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.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13174
   5. http://www.cminusminus.org/

 * Type level arithmetic. Robert Dockins [6]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.

   6. http://article.gmane.org/gmane.comp.lang.haskell.general/13206

Haskell'

   This section covers activity on [7]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:
 * [8]Wildcard type annotations
 * [9]Reworking the Numeric class
 * [10]Partial application ideas
 * [11]A more flexible hierarchical module namespace
 * [12]Record updates
 * [13]On the importance of libraries
 * [14]Syntactic support for existentials
 * [15]Module system/namespace management
 * [16]Fixing the monomorphism restriction
 * [17]k patterns
 * [18]~ patterns
 * [19]Kind annotations
 * [20]Class method types
 * [21]A Match class
 * [22]Scoped type variables in class instances
 * [23]Inline comment syntax

   7. http://hackage.haskell.org/trac/haskell-prime
   8. http://www.haskell.org/pipermail/haskell-prime/2006-January/01.html
   9. http://www.haskell.org/pipermail/haskell-prime/2006-January/02.html
  10. http://www.haskell.org/pipermail/haskell-prime/2006-January/04.html
  11. http://www.haskell.org/pipermail/haskell-prime/2006-January/09.html
  12. http://www.haskell.org/pipermail/haskell-prime/2006-January/14.html
  13. http://www.haskell.org/pipermail/haskell-prime/2006-January/23.html
  14. http://www.haskell.org/pipermail/haskell-prime/2006-January/31.html
  15. http://www.haskell.org/pipermail/haskell-prime/2006-January/32.html
  16. http://thread.gmane.org/gmane.comp.lang.haskell.prime/15
  17. http://thread.gmane.org/gmane.comp.lang.haskell.prime/31
  18. http://thread.gmane.org/gmane.comp.lang.haskell.prime/54
  19. http://thread.gmane.org/gmane.comp.lang.haskell.prime/65
  20. http://article.gmane.org/gmane.comp.lang.haskell.prime/102
  21. http://article.gmane.org/gmane.comp.lang.haskell.prime/123
  22. http://article.gmane.org/gmane.comp.lang.haskell.prime/28
  23. http://thread.gmane.org/gmane.comp.lang.haskell.prime/104

Discussion

 * Adding Impredicative Types to GHC. Simon Peyton-Jones [24]pushed a
   patch into GHC to handle impredicative polymorphism (see [25]Boxy
   types: type inference for higher-rank types and impredicativity).
   Secondly, GHC now supports GADTs in the more simplified way
   described in [26]Simple unification-based type inference for GADTs

  24. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13254
  25. http://research.microsoft.com/~simonpj/papers/boxy/
  26. http://research.microsoft.com/~simonpj/papers/gadt/

 * New IO library. Bulat Ziganshin [27]sought information on the
   low-level IO mechanisms used in GHC's IO libraries, in the context
   of his work on a high-performance IO lib. Some interesting points
   relating to IO primitives were raised.

  27. http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/9261

Darcs Corner

   Darcs is popular. Isaac Jones [28]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!

  28. http://article.gmane.org/gmane.comp.lang.haskell.cafe/11089

Quote of the Week

 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
   [29]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

  29. http://sequence.complete.org/hwn-contrib

[Haskell] Haskell Weekly News: January 23, 2006

2006-01-22 Thread Donald Bruce Stewart

 Haskell Weekly News: January 23, 2006

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

   1. http://www.haskell.org/mailman/listinfo/haskell
   2. http://sequence.complete.org/
   3. http://sequence.complete.org/node/feed

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 [4]here.

   Presently, the following resources are available:
  + [5]The haskell-prime mailing list
  + The Haskell' [6]issue tracking system/wiki
  + A [7]darcs repository for larger code examples and experiments

   Please join us in making Haskell' a success.

   4. http://article.gmane.org/gmane.comp.lang.haskell.general/13138
   5. http://haskell.org/mailman/listinfo/haskell-prime
   6. http://hackage.haskell.org/trac/haskell-prime
   7. http://hackage.haskell.org/trac/haskell-prime/wiki/SourceCode

Resources and Tools

 * Cabal. Isaac Jones [8]announced some changes to Cabal, including
   new changes to the `hooks' interface. Feedback is encouraged.
   Secondly, a move is underway to build [9]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 [10]Cabal Wiki & Bug
   Tracker

   8. http://article.gmane.org/gmane.comp.lang.haskell.libraries/4145
   9. http://hackage.haskell.org/trac/hackage/wiki/CabalPackages
  10. http://hackage.haskell.org/trac/hackage/

 * Darcs switchover GHC has [11]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

  11. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13186

Discussion

 * IO Regions. Oleg Kiselyov [12]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
   [13]Lazy Functional State Threads is useful.

  12. http://article.gmane.org/gmane.comp.lang.haskell.general/13106
  13. http://www.cse.ogi.edu/~jl/Papers/stateThreads.ps

 * Lexically scoped type variables. Simon Peyton-Jones [14]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.

  14. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/9219

 * Providing an alternative to GMP. Esa Ilari Vuokko [15]began a
   discussion on modifying the GHC runtime and build system to
   support alternative arbtirary precision arithmetic libraries,
   other than the GPL'd GMP.

  15. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/13198

 * 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. [16]Bulat Ziganshin started
   [17]a wiki page describing how to use these new array interfaces.

  16. http://article.gmane.org/gmane.comp.lang.haskell.general/12992
  17. http://haskell.org/haskellwiki/Arrays

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. [18]http://www.cs.vu.nl/~ralf/JoLLI06.
   The "Haskell road" is an excellent book

  1   2   >