Haskell Weekly News: Issue 92 - November 8, 2008

--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081108 Issue 92 - November 08, 2008 --------------------------------------------------------------------------- Welcome to issue 92 of HWN, a newsletter covering developments in the [1]Haskell community. GHC 6.10 is released!! Go forth and drool over its new features. Be sure to have the editline libraries (libedit-dev on Debian/Ubuntu, for example) installed before you try building it. Announcements GHC version 6.10.1. Ian Lynagh [2]announced the release of [3]GHC version 6.10.1! This new major release features a number of significant changes, including wild-card patterns, punning, and field disambiguation in record syntax; generalised quasi-quotes; generalised SQL-like list comprehensions; view patterns; a complete reimplementation of type families; parallel garbage collection; a new extensible exception framework; a more user-friendly API; included Data Parallel Haskell (DPH); and more! See [4]the full release notes for more information. new community.haskell.org features: webspace, mailing lists. Ian Lynagh [5]announced that the community server, http://community.haskell.org/, has two new features for hosted projects: project webspace, and project mailing lists. GHC blog. Simon Marlow [6]has set up a [7]GHC blog. This is for all things related to GHC, particularly people working on GHC to blog about what they're up to. If you want a write-bit, sign up for a [8]wordpress account, let Simon know your account name, and blog away! The GHC blog should be syndicated on [9]Planet Haskell soon. Haddock 2.4.0. David Waern [10]announced a [11]new release of [12]Haddock, the Haskell documentation tool. This is a later version than the one shipped with GHC 6.10.1, which is version 2.3.0. That version will not be released on Hackage since it only builds with GHC 6.10.1 (by accident, actually). Besides adding back support for earlier GHC versions, this release contains some more fixes and support for HTML frames. htags-1.0. David Sankel [13]announced the [14]htags package, a tag file generator to enable extra functionality in editors like vim. It expands upon hasktags by using a full Haskell 98 parser and options for recursion. Haskell Quick Reference (1-page PDF). Malcolm Wallace [15]sent a 1-page Haskell quick reference prepared for a recent Haskell tutorial. Permission is granted for anyone to distribute it more widely as they wish, in the hope that it might be useful. Editable sources can be passed along if anyone would like to extend it. Proposal for associated type synonyms in Template Haskell. Thomas van Noort [16]submitted a proposal for adding associated type synonyms to Template Haskell. Comments are welcomed. announce [("InfixApplicative", 1.0), ("OpenGLCheck", 1.0), ("obj", 0.1)]. Thomas Davie [17]announced the upload of a few packages to Hackage which he has produced while working at Anygma. [18]obj-0.1 is a library for loading and writing obj 3D models; [19]OpenGLCheck-1.0 is a micro-package containing instances of Arbitrary for the data structures provided in Graphics.Rendering.OpenGL; and [20]InfixApplicative-1.0 is a second micro-package containing a pair of functions (<^) and (^>) which can be used to provide an infix version of liftA2 applied to an operator. Graphalyze-0.5 and SourceGraph-0.3. Ivan Lazar Miljenovic [21]announced the latest versions of [22]Graphalyze and [23]SourceGraph, which fix a couple of bugs in the previous versions. zlib and bzlib 0.5 releases. Duncan Coutts [24]announced updates to the [25]zlib and [26]bzlib packages, featuring a slightly nicer extended API. The simple API that most packages use is unchanged. There is also a new parameter to control the size of the first output buffer; this lets applications save memory when they happen to have a good estimate of the output size. Discussion Efficient parallel regular expressions. Martijn van Steenbergen [27]asked about efficiently running multiple regular expressions in parallel, leading to an interesting discussion of regular expressions and various parsing methods and libraries. Problems with strictness analysis?. Patai Gergely started an informative [28]discussion about strictness, laziness, strictness analysis, and compiler optimization. If you don't know a lot about these topics but would like to learn, this thread is a good starting point! Jobs 1-year postdoc position in Chalmers Functional Programming group. John Hughes [29]announced a position for a post-doctoral researcher with the Chalmers Functional Programming Group, with a one-year tax-free stipend funded by Intel. The funded project will develop a Domain Specific Language (DSL) for high level modelling, design and analysis of hardware and microarchitectures. Blog noise [30]Haskell news from the [31]blogosphere. * Edward Kmett: [32]Still Alive. Edward is still alive but sadly lost a few recursion scheme posts. =( * >>> Max Rabkin: [33]Beautiful folding. A very cool post about composable folds! * Eric Kow (kowey): [34]timesheet helper. * Philip Wadler: [35]A bizarre function over streams. * David Sankel: [36]Introducing Reactive: Events. A very readable introduction to the Reactive library. I look forward to reading more! * "FP Lunch": [37]Numbers vs Sets. * Mark Jason Dominus: [38]Addenda to recent articles 200810. * Darcs: [39]darcs weekly news #11. * >>> Ken G.: [40]Haskell?. Ken shares some thoughts on Real World Haskell. * Real-World Haskell: [41]Some early reviews. * David Sankel: [42]freeglut + Windows + HOpenGL + HGLUT. * GHC mutterings: [43]GHC 6.10.1 is out!. * Chung-chieh Shan: [44]Cognitive jobs. * London Haskell Users Group: [45]Duncan Coutts: The Haskell Platform. The abstract for Duncan's talk at the London HUG. * Well-Typed.Com: [46]GHC 6.10.1 released!. * Well-Typed.Com: [47]Haskell Platform talk at the London Haskell Users Group. * Mark Wassell: [48]GIS with Haskell 1. * >>> phoenix: [49]Haskell Tricks: Indexing a List. Getting the index of an element satisfying a predicate by zipping. * JP Moresmau: [50]Haskell for counting votes!. JP illustrates five different voting methods with some Haskell implementations. * Ivan Lazar Miljenovic: [51]Graph Theoretic Analysis of Relationships within Discrete Data. * Braden Shepherdson: [52]Pimp Your XMonad #1: Status bars. The first in a planned series of articles on not-so-well-known ways to extend your xmonad configuration. * >>> Cory: [53]Euler and Haskell. Cory just started learning Haskell (a "fun, slightly ridiculous language") via Project Euler. * >>> Sadek Drobi: [54]Code Safety and Correctness is a matter of Mindset Cultured by the Language. * Well-Typed.Com: [55]zlib and bzlib package updates. * >>> Bryan St. Amour: [56]Haskell Solution To The Farmer Problem. * >>> Nathan Hartman: [57]Haskell, Lambert, and the Clarke Ellipsoid. Nathan has started porting a map projection library to Haskell. * David Sankel: [58]Analysis of lazy-stream programs.. Quotes of the Week * Cory: Any language which makes frequent use of monads, functors and has a wikibook describing its relation to category theory is the result of an evil genius (or several, to be precise). * mmorrow: in langs with dependent types, you can just map numbers directly to types instead of having to ride a unicycle along a tightrope while battling an unruly gang of monkeys with knives. * conal: -fsemantics-shemantics * roconnor: all sorts of wonderful things could be done if we are less anal about bottoms. No pun intended. About the Haskell Weekly News New editions are posted to [59]the Haskell mailing list as well as to [60]the Haskell Sequence and [61]Planet Haskell. [62]RSS is also available, and headlines appear on [63]haskell.org. To help create new editions of this newsletter, please see the information on [64]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [65]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/15591 3. http://www.haskell.org/ghc/ 4. http://haskell.org/ghc/docs/6.10.1/html/users_guide/release-6-10-1.html 5. http://article.gmane.org/gmane.comp.lang.haskell.general/16600 6. http://article.gmane.org/gmane.comp.lang.haskell.glasgow.user/15603 7. http://ghcmutterings.wordpress.com/ 8. http://wordpress.com/ 9. http://planet.haskell.org/ 10. http://www.haskell.org//pipermail/haskell-cafe/2008-November/050271.html 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/haddock-2.4.0 12. http://www.haskell.org/haddock 13. http://article.gmane.org/gmane.comp.lang.haskell.general/16582 14. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/htags 15. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47344 16. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47301 17. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47241 18. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/obj 19. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/OpenGLCheck 20. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/InfixApplicative 21. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47171 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Graphalyze 23. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/SourceGraph 24. http://article.gmane.org/gmane.comp.lang.haskell.cafe/47144 25. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zlib 26. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bzlib 27. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47242 28. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/47183 29. http://article.gmane.org/gmane.comp.lang.haskell.general/16596 30. http://planet.haskell.org/ 31. http://haskell.org/haskellwiki/Blog_articles 32. http://comonad.com/reader/2008/still-alive/ 33. http://squing.blogspot.com/2008/11/beautiful-folding.html 34. http://koweycode.blogspot.com/2008/11/timesheet-wishlist.html 35. http://wadler.blogspot.com/2008/11/bizarre-function-over-streams.html 36. http://netsuperbrain.com/blog/posts/introducing-reactive-events/ 37. http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=114 38. http://blog.plover.com/addenda/200810.html 39. http://blog.darcs.net/2008/11/darcs-weekly-news-11.html 40. http://monolith149daily.blogspot.com/2008/11/haskell.html 41. http://www.realworldhaskell.org/blog/2008/11/06/some-early-reviews/ 42. http://netsuperbrain.com/blog/posts/freeglut-windows-hopengl-hglut/ 43. http://ghcmutterings.wordpress.com/2008/11/05/ghc-6101-is-out/ 44. http://conway.rutgers.edu/~ccshan/wiki/blog/posts/Cognitive_jobs/ 45. http://www.londonhug.net/2008/11/04/duncan-coutts-the-haskell-platform/ 46. http://blog.well-typed.com/2008/11/ghc-6101-released/ 47. http://blog.well-typed.com/2008/11/haskell-platform-talk-at-the-london-haske... 48. http://pound-stone.blogspot.com/2008/11/gis-with-haskell-1.html 49. http://phoenixblitz.blogspot.com/2008/11/haskell-tricks-indexing-list.html 50. http://jpmoresmau.blogspot.com/2008/11/haskell-for-counting-votes.html 51. http://ivanmiljenovic.wordpress.com/2008/11/03/graph-theoretic-analysis-of-r... 52. http://braincrater.wordpress.com/2008/11/02/pimp-your-xmonad-1-status-bars/ 53. http://onag.blogspot.com/2008/11/euler-and-haskell.html 54. http://sadekdrobi.com/2008/11/02/code-safety-and-correctness-is-a-matter-of-... 55. http://blog.well-typed.com/2008/11/zlib-and-bzlib-package-updates/ 56. http://bryanstamour.com/?p=49 57. http://parsemymonad.blogspot.com/2008/10/haskell-lambert-and-clarke-ellipsoi... 58. http://netsuperbrain.com/blog/posts/analysis-of-lazy-stream-programs/ 59. http://www.haskell.org/mailman/listinfo/haskell 60. http://sequence.complete.org/ 61. http://planet.haskell.org/ 62. http://sequence.complete.org/node/feed 63. http://haskell.org/ 64. http://haskell.org/haskellwiki/HWN 65. http://code.haskell.org/~byorgey/code/hwn/

Brent Yorgey wrote:
--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20081108 Issue 92 - November 08, 2008 ---------------------------------------------------------------------------
GHC version 6.10.1. Ian Lynagh [2]announced the release of [3]GHC version 6.10.1! This new major release features a number of significant changes, including wild-card patterns, punning, and field disambiguation in record syntax; generalised quasi-quotes; generalised SQL-like list comprehensions; view patterns; a complete reimplementation of type families; parallel garbage collection; a new extensible exception framework; a more user-friendly API; included Data Parallel Haskell (DPH); and more! See [4]the full release notes for more information.
Were it not for this message, I might never have noticed! :-} (Presumably the main "announcement" was on one of the other Haskell lists...) Anyway, I don't see it anywhere in the release notes, but I get the vibe that type families are supposed to be "fully working" now. Is that correct? If so, why no mention anywhere? Also, the release notes tantelisingly hint that the long-awaited parallel-array stuff is finally working in this release, but I can't find any actual description of how to use it. All the DPH stuff seems on the wiki was last updated many months ago. You would have thought that such a big deal would be well-documented. It must have taken enough effort to get it to work! You'd think somebody would want to shout about it...

Anyway, I don't see it anywhere in the release notes, but I get the vibe that type families are supposed to be "fully working" now. Is that correct? If so, why no mention anywhere?
Type families have been completely reimplemented and should be stable now, but there are some bugs - notably equality constraints in superclasses are not supported in GHC 6.10.1, i.e.
class (F a ~ b) => C a b where type F a
As indicated by this bug report: http://hackage.haskell.org/trac/ghc/ticket/2715 And here: http://haskell.org/haskellwiki/GHC/Indexed_types#Equality_constraints
Also, the release notes tantelisingly hint that the long-awaited parallel-array stuff is finally working in this release, but I can't find any actual description of how to use it. All the DPH stuff seems on the wiki was last updated many months ago. You would have thought that such a big deal would be well-documented. It must have taken enough effort to get it to work! You'd think somebody would want to shout about it...
I put up a DPH version of the binarytrees benchmark in the shootout: http://haskell.org/haskellwiki/Shootout/Parallel/BinaryTreesDPH There are some notes there; the only documentation I really used was the documentation built by the GHC build process on the 'dph-*' libraries (you can see them in 6.10 by just doing 'ghc-pkg list' and looking through it.) I was thinking of porting more of the parallel shootout entries to use DPH, but I'm busy right now - results could be interesting. Austin
participants (3)
-
Andrew Coppin
-
Austin Seipp
-
Brent Yorgey