Editorial = Just "With the ICFP deadline passed, your Haskell Weekly News returns to its regularly scheduled programming. This week: a truckload of new libraries!" , Announce [ Item "ndp-0.1: nested data parallelism in Haskell" "Roman Leshchinskiy" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15006 announced] the first release of [http://haskell.org/haskellwiki/GHC/Data_Parallel_Haskell 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 [http://www.cse.unsw.edu.au/~chak/papers/CLPKM07.html Data Parallel Haskell: a status report] describes the underlying design and go through an example program.", Item "binary 0.3: bigger, better, faster" "Lennart Kolmodin" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15044 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 [http://hackage.haskell.org/packages/archive/binary/binary-0.3.tar.gz through Hackage], or via its [http://www.cse.unsw.edu.au/~dons/binary.html homepage].", Item "Text.HTML.Chunks" "Matthew Sackman" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15028 announced] the [http://www.wellquite.org/chunks 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.", Item "Phooey 1.0 and GuiTV 0.3" "Conal Elliott" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15047 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'." , Item "The real Monad Transformer" "Henning Thielemann" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15059 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 [http://tinyurl.com/2e32r4 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 [https://sourceforge.net/projects/parallelweb here].", Item "GHC 6.6.1 Release Candidate" "Ian Lynagh" "[http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/11964 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 [http://www.haskell.org/ghc/dist/stable/dist/ here].", Item "Haskell Cryptographic Library 4.0.3" "Dominic Steinitz" "[http://article.gmane.org/gmane.comp.lang.haskell.libraries/6761 announced] the release of a new version of the Haskell Cryptographic Library based on the [http://www.haskell.org/haskellwiki/Crypto_Library_Proposal crypto proposal]. See [http://www.haskell.org/crypto/ 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.", Item "TagSoup library 0.1" "Neil Mitchell" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15100 announced] TagSoup, a library for extracting information out of unstructured HTML code, sometimes known as [http://www-users.cs.york.ac.uk/~ndm/tagsoup/ tag-soup]. The HTML does not have to be well formed, or render properly within any particular framework. This library is for situations where the author of the HTML is not cooperating with the person trying to extract the information, but is also not trying to hide the information. The library provides a basic data type for a list of unstructured tags, a parser to convert HTML into this tag type, and useful functions and combinators for finding and extracting information.", Item "ParseP library 0.1" "Twan van Laarhoven" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15101 announced] 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.", Item "Debian library for Haskell" "Jeremy Shaw" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15064 announced] the availability of a library for interacting with the Debian system from Haskell. This library does not (currently) depend on dpkg or apt for any functionality. Contributions are welcome, and the library is available from [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/debian-1.2 Hackage]. Well-Support Modules: parsing/Printing Debian control files, parsing/printing sources.list files, comparing Debian version numbers, a data type for encoding Debian relations and more.", Item "Call for Contributions: HC and A Report" "Andres Loeh" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15096 mentioned] that it is nearly time for the twelfth edition of the [http://www.haskell.org/communities/ 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. Even if the project is very small or unfinished or you think it is not important enough -- please reconsider and submit an entry anyway!", Item "System.FilePath 1.0" "Neil Mitchell" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15097 announced] the [http://www-users.cs.york.ac.uk/~ndm/filepath/ System.FilePath] 1.0 release! The FilePath library is a library for manipulating FilePaths in a cross platform way on both Windows and Unix. [http://www.cs.york.ac.uk/fp/haddock/filepath/ Documentation].", Item "FGL - A Functional Graph Library" "Martin Erwig" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15052 announced] a new release of [http://eecs.oregonstate.edu/~erwig/fgl/haskell/ the Functional Graph Library for Haskell]. This release fixes some bugs in the implementation of several basic inspection functions.", Item "TypeCompose 0.0" "Conal Elliott" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15046 announced] TypeCompose, which provides some classes and instances for forms of type composition. It also includes a very simple implementation of data-driven computation.", Item "Haskell SWF generation library" "Jeremy Shaw" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15095 announced] the availability of an Adobe Shockwave Flash (SWF) [http://www.n-heptane.com/nhlab/repos/haskell-swf/ library for Haskell]. It is primarily useful for compiling ActionScript assembly into a .swf file.", Item "New web-devel mailinglist for Haskell" "Marc Weber" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15045 announced] a new web-devel mailinglist on haskell.org has been set up. You can subscribe [http://www.haskell.org/mailman/listinfo/web-devel here].", Item "strict-0.1: strict versions of Haskell types" "Roman Leshchinskiy" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15017 announced] the first release of [http://www.cse.unsw.edu.au/~rl/code/strict.html package 'strict'] which provides strict versions of standard Haskell types. At the moment, pairs, Maybe and Either are defined. The library is available [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/strict-0.1 from hackage].", Item "Chess in Haskell" "Steffen Mazanek" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15002 announced] a straightforward implementation of [http://www.steffen-mazanek.de/blog/2007/02/haskell-chess.html a chess engine in Haskell], available as a tutorial exercise.", Item "storylen: story word count and categorization" "Dino Morelli" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15083 announced] storylen, a [http://ui3.info/d/proj/storylen.html command-line utility] that counts the words in files and classifies them into story types (short story, novella, novel...). Its operation and output are very similar to the *nix program wc. This is useful for books in plain ascii text." ], HaskellPrime [ Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/2152" "Type aliases and Id", Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/2139" "Strict bits of datatypes", Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/2177" "Literate Haskell specification" ], Libraries [ Link "http://article.gmane.org/gmane.comp.lang.haskell.libraries/6716" "Reduce base from the top", Link "http://article.gmane.org/gmane.comp.lang.haskell.libraries/6727" "Make Data.Graph.Inductive.NodeMap handle slightly messy input without crashing", Link "http://article.gmane.org/gmane.comp.lang.haskell.libraries/6559" "ByteString based datagram communication" ], Conferences Nothing [ Item "Commercial Users of Functional Programming" "Simon Peyton-Jones" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14989 announced] the call for speakers for this year's [http://cufp.galois.com CUFP]. If you use functional programming as a means, rather than as an end, this message is an invitation for you to offer to give a talk at the workshop." ], Discussion [ Item "Haskell in the real world: building a commercial website in Haskell with WASH" "Adam Peacock" "[http://article.gmane.org/gmane.comp.lang.haskell.cafe/21159 described] how he implemented a commercial website in Haskell, using WASH", Item "Haskell communities worthy of academic study?" "Claus Reinke" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15048 wondered] about the software archeology of Haskell.", Item "Type level programming to eliminate array bound checking in the real world" "Vivian McPhail" "[http://thread.gmane.org/gmane.comp.lang.haskell.cafe/21314 mentioned] an attempt to write code that will receive an array from C land and convert it to a type safe representation." ], Jobs [ Item "One-year INRIA post-doctoral position" "Frederic Blanqui" "[http://article.gmane.org/gmane.comp.lang.haskell.general/15018 announced] a one-year INRIA post-doctoral position is available investigating 'Generation of construction functions guaranteeing algebraic invariants on concrete data types'" ], Blogs [ Link "http://tinyurl.com/2aczfr" "What Programming Languages Should You Know?", Link "http://www.randomhacks.net/articles/2007/03/12/monads-in-15-minutes" "Monads in 15 minutes: Backtracking and Maybe", Link "http://edge-loop.spaces.live.com/Blog/cns!8F028CC27525BEA1!1175.entry" "Time to learn a little Haskell...", Link "http://notes-on-haskell.blogspot.com/2007/03/say-what-you-mean-mean-what-you-say.html" "Say what you mean, mean what you say", Link "http://notes-on-haskell.blogspot.com/2007/03/fundamental-ideas-of-computing.html" "Fundamental Ideas of Computing", Link "http://blog.twifkak.com/articles/2007/03/12/on-code-generation" "On Code Generation", Link "http://freeshells.ch/~revence/monads.html" "Monads in the unix shell", Link "http://antoniocangiano.com/articles/2007/03/13/haskell-eye-for-the-ruby-guy" "Haskell Eye for the Ruby Guy", Link "http://mad-computer-scientist.com/blog/?p=14" "2D Mouse Picking with OpenGL and GLUT", Link "http://www.steffen-mazanek.de/blog/2007/02/haskell-chess.html" "Implementing chess in Haskell", Link "http://tinyurl.com/2fs39r" "Port Scanner in Haskell", Link "http://leiffrenzel.de/papers/commandline-options-in-haskell.html" "Command line arguments in Haskell", Link "http://www.alpheccar.org/en/posts/show/69" "IFS In Haskell", Link "http://partiallyappliedlife.blogspot.com/2007/03/spider-solitaire-intro.html" "Spider Solitaire, Intro", Link "http://a-w-j.blogspot.com/2007/03/learning-haskell.html" "Learning Haskell...", Link "http://vandreev.wordpress.com/2006/12/24/quick-and-dirty-theorem-prover/" "Quick and Dirty Theorem Prover.", Link "http://mikeburrell.wordpress.com/2007/03/20/software-transactional-memory-for-concurrency/" "Software Transactional Memory for concurrency", Link "http://saladwithsteve.com/2007/04/haskell-thoughts.html" "Haskell thoughts.", Link "http://weblog.raganwald.com/2007/04/haskell-not-just-for-language-weenies.html" "What Haskell teaches us about writing Enterprise-scale software", Link "http://cohatoe.blogspot.com/2007/04/unit-testing-in-haskell.html" "Unit testing in Haskell", Link "http://toomuchcode.blogspot.com/2007/04/imaginary-concurrency-debate.html" "The imaginary concurrency debate: Erlang versus Haskell", Link "http://austin.youareinferior.net/?q=node/22" "On Haskell: Writing a black-list filter using the Writer Monad", Link "http://praisecurseandrecurse.blogspot.com/2007/04/haskell-for-short-attention-span-simple.html" "A simple file filter", Link "http://neilbartlett.name/blog/2007/04/11/haskell-an-imperative-language-with-mutable-state/" "Haskell: an Imperative Language with Mutable State", Link "http://etorreborre.blogspot.com/2007/04/pattern-matching-with-ruby.html" "Pattern matching in Haskell and Ruby", Link "http://themechanicalbride.blogspot.com/2007/04/haskell-for-c-3-programmers.html" "Haskell for C# Programmers" ], Quotes [ Quote "AdamPeacock" "Once I looked at the source code, 25000 lines of ASP, I reckoned it would be easier to rewrite it in a real language.", Quote "JesseVincent" "Perl's idea of a type system is: 'La-La-La, I don't hear you'", Quote "LPhas" "[In reference to HAppS.SimpleHTTP] When I first saw the type of 'h' my reaction was to hide under my bed", Quote "SvenPanne" "Taking away the prelude is a little bit like taking away 'int', 'double', 'for' and 'while' from a C programmer", Quote "sjanssen" "Threads are fine, its your language that sucks.", Quote "thorat" "C should only be used to implement something better" ], Commits [ ] -- vim: paste