[Haskell] ANNOUNCE: xmonad 0.3
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
--- 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
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
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
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!
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
--- 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
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
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?
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
--- 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
--- 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
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?
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
--- 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
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
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
--- 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]
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]
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
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 #{}
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
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
--- 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]
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
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
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
--- 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
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
--- 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
--- 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
--- 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?
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
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
--- 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
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
--- 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
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
--- 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
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
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
--- 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
--- 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
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
--- 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
--- 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
--- 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
--- 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
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
--- 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
--- 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
--- 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
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
--- 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
--- 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
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
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
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
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
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
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
--- 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
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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