
--------------------------------------------------------------------------- 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 class. 22. http://article.gmane.org/gmane.comp.lang.haskell.cafe/18118 GADTs are expressive. Jim Apple [23]described a data type which holds only those terms of the untyped lambda calculus that are reducible to normal form, using GADTs 23. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18210/focus=18210 Hackage interface. Ross Paterson [24]set up (temporarily) a simple first cut at an [25]interface to the Hackage package database. On a related note, there was some [26]discussion for home pages for Hackage projects, and collecting statistics. 24. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6025 25. http://ross-paterson.dyndns.org/~ross/hackage/ 26. http://article.gmane.org/gmane.comp.lang.haskell.libraries/6035 Conference roundup The Haskell Hackathon. Hac 2007 [27]is being held this week, January 10-12th, in Oxford, with around 20 Haskell coders from across the world gathering to hack on libraries and practical tools for Haskell. Work is planned for at least hackage, Cabal, bytestrings, binary IO, http, GHC, YHC, Hoogle, DrHaskell, WinHugs, GHCi debugger, crypto, QuickCheck 2, Haddock and more besides. Notably, some graduates from this year's Google Summer of Code projects will be attending, with plans to integrate their work into the main project branches. Happy hacking everyone! 27. http://haskell.org/haskellwiki/Hac_2007 Blog noise [28]Haskell news from the blogosphere. * [29]Liberating Myself from the von Neumann Style * [30]First impressions of Haskell: Whoa! * [31]Comparing Gzip Code Reduction * [32]Simple demonstration of Haskell FFI * [33]Does Functional Programming Matter? * [34]2006 in review * [35]Haskell script to replace tabs * [36]Functional programming is functional * [37]The shock of the forgotten * [38]Category theory * [39]Does Haskell need macros? * [40]On darcs * [41]Learning things * [42]Folds for imperative programmers * [43]Dammit all! I've been blubbed * [44]Getting started with installing third-party Haskell packages * [45]A Nice Way to Learn FP * [46]Learning Haskell * [47]Haskell and Eclipse * [48]Haskell and Eclipse: building a server executable * [49]What makes a programming language more productive? * [50]Composability and Productivity * [51]Arithmetic coding in Haskell * [52]A quick and dirty theorem prover in Haskell * [53]Haskell is Fun! * [54]2007, the year of software reliability? * [55]Haskell, bondage-and-discipline and separation-of-concerns programming * [56]Type systems as safety belts * [57]It's Haskell! * [58]Two promising Haskell projects: Vital and Pivot * [59]Exceptions and interrupts 28. http://planet.haskell.org/ 29. http://blogs.nubgames.com/code/?p=4 30. http://blogs.nubgames.com/code/?p=15 31. http://blogs.nubgames.com/code/?p=16 32. http://blog.acolyte.co.za/articles/2007/01/01/simple-demonstration-of-haskel... 33. http://denkspuren.blogspot.com/2007/01/does-functional-programming-matter.ht... 34. http://koweynlg.blogspot.com/2006/12/state-of-thesis-2006-12-31.html 35. http://chill-yo.blogspot.com/2007/01/haskell-code-replace-tabs.html 36. http://gearon.blogspot.com/2006/10/functional-programming-is-functional.html 37. http://www.serpentine.com/blog/2007/01/01/the-shock-of-the-forgotten/ 38. http://comblog.net/hnbeck/archive/2007/01/05/2384.aspx 39. http://neilmitchell.blogspot.com/2007/01/does-haskell-need-macros.html 40. http://simulacra.in/2007/01/darcs/ 41. http://koweynlg.blogspot.com/2007/01/zommmmbieeee.html 42. http://blog.tmorris.net/folds-for-imperative-programmers/ 43. http://withoutane.com/rants/2007/01/damn-you-haskell 44. http://www.serpentine.com/blog/2007/01/05/getting-started-with-installing-th... 45. http://monadnation.blogspot.com/2007/01/nice-way-to-learn-fp.html 46. http://www.timeblog.net/2007/01/06/haskell/ 47. http://cohatoe.blogspot.com/2006/12/simple-example-walkthrough-ii.html 48. http://cohatoe.blogspot.com/2007/01/building-server-executable.html 49. http://kawagner.blogspot.com/2007/01/what-makes-programming-language-more.ht... 50. http://cogito.blogthing.com/2007/01/07/composablility-and-productivity/ 51. http://vandreev.wordpress.com/2007/01/07/arithmetic-coding/ 52. http://vandreev.wordpress.com/2006/12/24/quick-and-dirty-theorem-prover/ 53. http://onthebalcony.wordpress.com/2007/01/08/haskell-is-fun/ 54. http://jguk.org/2007/01/2007-year-of-software-reliability.html 55. http://syntaxfree.wordpress.com/2007/01/08/haskell-bondage-and-discipline-an... 56. http://programming.reddit.com/info/xbc7/comments/cxfs0 57. http://e-scribe.com/news/322 58. http://factor-language.blogspot.com/2007/01/two-promising-haskell-projects.h... 59. http://www.weaselhat.com/2007/01/08/exceptions-and-interrupts/ Quotes of the Week * Eric: The Haskell [code] contains no redundancy. In fact, in all the [Haskell] code I've written, in both production and play, each idea is expressed once and only once. It is the Zen ideal of perfect code. And thats never happened to me before. * nostrademons: Haskell is in a similar position [to Scala] - a complex language with many sustaining innovations - but it has one major disruptive innovation. Purity. Now, the question is whether that can be leveraged in a way that makes it useful in some market that existing imperative languages can't reach. My bets are on concurrency... * Excedrin: Isn't OO deprecated? * dpiponi: [monochrom] Nevermind monads. Use arrows. Come join the Dart Side! [dpiponi] Never mind arrows. Use comonads. Cojoin the other side. * nilsi: #haskell is better than Google * sigfpe: I think Haskell is a great language for short attention spans. You can get so much done in one line before you get bored. * timthelion: Oh wait, I LOVE foldr!! And I have only been learning Haskell for hours * kowey: All the things with guards are just there to siphon off the weirdos * Eric: [Haskell] astonishes me at every turn with its beauty and elegance. I've never felt such power. Haskell has brought back a joy in programming that I didnt even know I was missing. * Paul Johnson: Mutable state is actually another form of manual memory management: every time you over-write a value you are making a decision that the old value is now garbage, regardless of what other part of the program might have been using it. About the Haskell Weekly News Each week, new editions are posted to [60]the Haskell mailing list as well as to [61]the Haskell Sequence and [62]Planet Haskell. [63]RSS is also available, and headlines appear on [64]haskell.org. Headlines are available as [65]PDF. To help create new editions of this newsletter, please see the [66]contributing information. Send stories to dons at cse.unsw.edu.au. The darcs repository is available at darcs get [67]http://www.cse.unsw.edu.au/~dons/code/hwn 60. http://www.haskell.org/mailman/listinfo/haskell 61. http://sequence.complete.org/ 62. http://planet.haskell.org/ 63. http://sequence.complete.org/node/feed 64. http://haskell.org/ 65. http://www.cse.unsw.edu.au/~dons/code/hwn/archives/20070109.pdf 66. http://haskell.org/haskellwiki/HWN 67. http://www.cse.unsw.edu.au/~dons/code/hwn