
--------------------------------------------------------------------------- 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 supports dollar-based substitution. 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/template-0.1 * ASN1-0.0.1. Dominic Steinitz [26]ASN.1 suppport for X.509 identity and attribute certificates, PKCS8, PKCS1v15. 26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ASN1-0.0.1 Discussion The Proper Definition of (evaluate :: a -> IO a). Isaac Dupree [27]described a variant of evaluate with modified semantics to the current implementation. 27. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6858 Why is Data.Set not a monad?. Dan Doel [28]documented the reasons why Data.Set is not currently an instance of Monad. 28. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6861 Chaos. Andrew Coppin [29]announced chaos, a fun image generating mystery program. 29. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/22177 The Functional Pearls. Don Stewart [30]collected the functional pearls known to be available online, on to a single page on the Haskell wiki. 30. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/22171 Blog noise [31]Haskell news from the blogosphere. * [32]HUG: Nested Data Parallelism in Haskell * [33]HUG: London Haskell User Group * [34]New York Functional Programmers meeting: roundup * [35]Python-style string split in Haskell * [36]Thinking in types * [37]Using the Haskell package system * [38]Fixed precision, an update * [39]Use of Text.XHtml.Strict for Outputting XHTML * [40]Idiom: Plan for Currying * [41]Bowling in Haskell * [42]The Trivial Monad * [43]Homeland Security Threat Level Monad * [44]Monads as universe helpers * [45]Understanding comonads * [46]Coding in Haskell: conciseness * [47]Functional programming in Wall Street * [48]Phantom Types for Real Problems * [49]Haskell rocks * [50]Advertising the ICFP Programming Contest * [51]Haskell wikibook * [52]Roll Your Own Window Manager: Part 1: Defining and Testing a Model * [53]Haskell and the Type Calculus: or, the Good -> Bad -> Ugliness of Types * [54]FileManip, an expressive Haskell library for manipulating files * [55]Programming in Haskell * [56]Parsing JSON in Haskell * [57]Namespace confusion * [58]A Scheme parser in Haskell * [59]Simple performance analysis * [60]Playing with Haskell unsafely * [61]repeat and sequence * [62]Haskell and C: functions returning more than one value 31. http://planet.haskell.org/ 32. http://www.londonhug.net/2007/05/01/hug-update-nested-data-parallelism-in-ha... 33. http://www.phildawes.net/blog/2007/05/02/london-haskell-user-group/ 34. http://privosoft.blogspot.com/2007/05/new-york-functional-programmers-meetin... 35. http://gimbo.org.uk/blog/2007/04/20/splitting-a-string-in-haskell/ 36. http://totherme.livejournal.com/3845.html 37. http://gimbo.org.uk/blog/2007/04/27/haskell-packages-gotcha-global-vs-per-us... 38. http://augustss.blogspot.com/2007/04/fixed-precision-update-so-i-was-bit.htm... 39. http://www.movethemarkets.com/richard/2007/04/14/use-of-textxhtmlstrict-for-... 40. http://www.movethemarkets.com/richard/2007/04/28/functional-programming-idio... 41. http://www.randomhacks.net/articles/2007/04/28/bowling-in-haskell 42. http://sigfpe.blogspot.com/2007/04/trivial-monad.html 43. http://sigfpe.blogspot.com/2007/04/homeland-security-threat-level-monad.html 44. http://gelisam.blogspot.com/2006/10/monads-as-universe-helpers.html 45. http://gelisam.blogspot.com/2007/04/i-understand-comonads.html 46. http://defowl.blogspot.com/2007/04/coding-in-haskell.html 47. http://codemiscellany.blogspot.com/2007/04/functional-programming-in-wall-st... 48. http://neilmitchell.blogspot.com/2007/04/phantom-types-for-real-problems.htm... 49. http://errantember.livejournal.com/50627.html 50. http://johanjeuring.blogspot.com/2007/05/advertising-icfp-programming-contes... 51. http://koweycode.blogspot.com/2007/05/haskell-wikibook-now-featured.html 52. http://cgi.cse.unsw.edu.au/~dons/blog/2007/05/01#xmonad_part1_model 53. http://disparatemathematician.blogspot.com/2007/05/haskell-and-type-calculus... 54. http://www.serpentine.com/blog/2007/05/01/filemanip-an-expressive-haskell-li... 55. http://www.regdeveloper.co.uk/2007/05/03/programming_haskell/ 56. http://notes-on-haskell.blogspot.com/2007/05/parsing-json.html 57. http://notes-on-haskell.blogspot.com/2007/05/namespaces-confusion.html 58. http://sami.samhuri.net/articles/2007/05/03/a-scheme-parser-in-haskell-part-... 59. http://syntaxfree.wordpress.com/2007/05/04/lra/ 60. http://therning.org/magnus/archives/249 61. http://therning.org/magnus/archives/269 62. http://therning.org/magnus/archives/280 Quotes of the Week * Oleg K: So, `bind' is `let' and monadic programming is equivalent to programming in the A-normal form. That is indeed all there is to monads * kc5tja: Premature evil is the root of all optimization * Tommah: Remember, kids: if you program in a language with side effects, the terrorists win. * ndm: Comments are for people who can't sense what their code does from the indentation * jcreigh: GHC has lots of interesting features above Haskell98, I've noticed. 'You can take the red pill or the blue pill...' 'Hmm. What's the green pill?' 'What? Oh. That's GHC.' * schluehk: It's about a variant of the other big Haskell credo: once it compiles it works. Once you have written a prototype you have also a spec. If this is not agile I don't know what? It is a quite remarkable inversion. Formerly people wanted tools that are so versatile that they let them express almost everything with great ease and where they didn't care a lot about speed optimizations and corner cases in the early iterations. Now people want tools that restricts intentionally their expressivity to let them do big upfront design as source code. They want to be guided to initial perfection. Let's face it: Haskell has quite some momentum in the dialectic move. Code Watch Notable new features and bug fixes to the Haskell compilers. Thu May 3 06:19:55 PDT 2007. Simon Marlow. [63]Add history/trace functionality to the GHCi debugger. The debugger can now log each step of the evaluation without actually stopping, keeping a history of the recent steps (currently 50). When a (real) breakpoint is hit, you can examine previous steps in the history (and their free variables) using the :history, :back and :forward commands. 63. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/20551 Wed May 2 09:34:57 PDT 2007. Simon Peyton-Jones. [64]Make records work properly with type families. This fixes Trac #1204. There's quite a delicate interaction of GADTs, type families, records, and in particular record updates. 64. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/20522 About the Haskell Weekly News Each week, new editions are posted to [65]the Haskell mailing list as well as to [66]the Haskell Sequence and [67]Planet Haskell. [68]RSS is also available, and headlines appear on [69]haskell.org. Headlines are available as [70]PDF. To help create new editions of this newsletter, please see the [71]contributing information. Send stories to dons at cse.unsw.edu.au. The darcs repository is available at darcs get [72]http://www.cse.unsw.edu.au/~dons/code/hwn 65. http://www.haskell.org/mailman/listinfo/haskell 66. http://sequence.complete.org/ 67. http://planet.haskell.org/ 68. http://sequence.complete.org/node/feed 69. http://haskell.org/ 70. http://www.cse.unsw.edu.au/~dons/code/hwn/archives/20070507.pdf 71. http://haskell.org/haskellwiki/HWN 72. http://www.cse.unsw.edu.au/~dons/code/hwn