--------------------------------------------------------------------------- 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'. The array operators trust the Ix instance to manage boundaries correctly. It was pointed out that the Haskell standard requires Ix instances obey an in-range side condition (just as Monad instances have side conditions). 18. http://article.gmane.org/gmane.comp.lang.haskell.libraries/5903/ Merging MissingH into the standard libraries. John Goerzen [19]proposed a [20]renaming plan to aid splitting, and merging the various MissingH modules into their own packages, and into base 19. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16985/focus=16985 20. http://software.complete.org/missingh/wiki/TransitionPlanning Defining Cg, HLSL style vectors in Haskell. Slavomir Kaslev [21]asked about defining a couple of float2, float3, float4 Cg, HLSL style vectors in Haskell. 21. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16898/focus=16898 Extracting sublists. Huazhi Gong [22]asked about the best way to extract sublists. Several solutions where suggested, including [23]a nice one by Oleg. 22. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/16976/focus=16976 23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/16984 Generating 50 randoms. Huazhi Gong [24]also asked about how best to generate 50 random integers, leading to some lovely of creative writing... 24. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/17029/focus=17029 Blog noise [25]Haskell news from the blogosphere. * [26]Haskell Preliminaries: Implementations and Tools * [27]Simple Functions in Haskell * [28]Functions, Types, Function Types, and Type Inference * [29]Building Datatypes in Haskell (part 1) * [30]OOPSLA 2006 Summary * [31]Some Very Basic Haskell and Thoughts on Error Diagnosis * [32]Hello world! in Haskell * [33]Haskell - A valuable language * [34]On Functional Programming * [35]Listing files in Haskell * [36]Bits and Pieces of Haskell * [37]Typing like a Functional Programmer * [38]6 Languages * [39]Closures and bottom for Java * [40]A newbie in Haskell land * [41]Interesting parsers in Haskell * [42]Meep for developers (finite-difference time-domain simulation software in Haskell) * [43]Algorithmic Music in Real Time using Haskell * [44]Rank-2 polymorphism is a strange thing * [45]Scalable computer programming languages * [46]Parser with Writer monad * [47]Metacognitive processes involved in deriving a solution to unzip * [48]Python Decorators - not desirable in Haskell * [49]Tools for haskell problem solving * [50]Technology Time Warp: trying out Lisp and Haskell * [51]Haskell programming language assignment * [52]Building GHC in under 10 minutes * [53]Lets play a game * [54]foldr, foldl * [55]Monads in Ruby Part 1: Identity * [56]Monads In Ruby Part 1.5: Identity * [57]New Languages * [58]You have to love Haskell * [59]Polynomials as numbers * [60]Parser combinators * [61]Lisp, you're old (but we love you anyway) * [62]Will somebody please think of the Parens!? * [63]Diving into Haskell * [64]FourFours in Haskell 25. http://planet.haskell.org/ 26. http://scienceblogs.com/goodmath/2006/11/haskell_preliminaries_implemen.php 27. http://scienceblogs.com/goodmath/2006/11/simple_functions_in_haskell_1.php 28. http://scienceblogs.com/goodmath/2006/12/functions_types_function_types_1.php 29. http://scienceblogs.com/goodmath/2006/12/building_datatypes_in_haskell_1.php 30. http://mark.santaniello.net/archives/274 31. http://praisecurseandrecurse.blogspot.com/2006/11/some-very-basic-haskell-and-thoughts-on.html 32. http://blog.milkfarmsoft.com/?cat=6 33. http://channel9.msdn.com/ShowPost.aspx?PostID=261386#261386 34. http://www.pbell.com/index.cfm/2006/11/26/On-Functional-Programming 35. http://therning.org/magnus/archives/228 36. http://pseudofish.com/blog/2006/11/28/bits-and-pieces-of-haskell/ 37. http://www.artima.com/weblogs/viewpost.jsp?thread=186200 38. http://sharp-blue.livejournal.com/14234.html 39. http://www.javac.info/closures-v03.html 40. http://www.alpheccar.org/en/posts/show/60 41. http://www-etud.iro.umontreal.ca/~laurieti/parser.html 42. http://shejun.blogspot.com/2006/11/meep-for-developers.html 43. http://hemiolesque.blogspot.com/2006/11/algorithmic-music-in-real-time.html 44. http://cucumariid.livejournal.com/36757.html 45. http://www.cs.caltech.edu/~mvanier/hacking/rants/scalable_computer_programming_languages.html 46. http://sequence.complete.org/node/231 47. http://sequence.complete.org/node/235 48. http://sequence.complete.org/node/232 49. http://sequence.complete.org/node/230 50. http://markagrant.blogspot.com/2006/12/technology-time-warp.html 51. http://ched.vox.com/library/photo/6a00c225264de2549d00cdf3a3d6fbcb8f.html#comments 52. http://cgi.cse.unsw.edu.au/~dons/blog/2006/12/03#build_ghc_fast 53. http://e-scribe.com/news/193#541 54. http://monad.carnalreason.org/wordpress/?p=19 55. http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-1-identity.html 56. http://meta-meta.blogspot.com/2006/12/monads-in-ruby-part-15-identity.html 57. http://www.travishartwell.net/blog/2006/12/02_1144 58. http://mikepence.wordpress.com/2006/10/31/you-have-to-love-haskell/ 59. http://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers 60. http://a-preponderance-of-pondering.blogspot.com/2006/12/parser-combinators.html 61. http://a-preponderance-of-pondering.blogspot.com/2006/12/lisp-youre-old-but-we-love-you-anyway.html 62. http://foldr.org/~michaelw/log/programming/lisp/lispin 63. http://dm.zimmer428.net/index.php/archives/203 64. http://www.joachim-breitner.de/blog/archives/210-FourFours-in-Haskell.html Quotes of the Week * Andreas Rossberg: To the functional programmer's eye a loop is just a degenerate form of linear recursion written in an adhoc special syntax. * Cale: [on the discovery of a secret pi calculus monad] Someone apparently wasn't informed that integration into the collective Haskell hive-mind is mandatory * secretgeek: Because we've reached the limits of Moore's Law, the computers of the future will have many-core processors and all our programs will need to be written in a combination of Haskell and Lisp, that will itself be so powerful that the computers of the future will not be able to implement any of our ideas without creating time-travelling algorithms that borrow processing power from other computers that are further into the future. This sounds difficult, but in Lisp it isn't difficult at all. In Haskell this is a built-in feature and the way you implement it is just a no-brainer... * PaulPotts: Haskell is an even 'redder' pill than Lisp or Scheme * Pseudonym: Assuming an advanced compiler, your code will be sent to Oleg who will implement it in the type system. * cjeris: [wants ghc for wii] Build and deploy an army of functional dependencies and multi-parameter type classes to defend Hyrule from the menacing MUTATRON and his legion of Java programmers! * dons: My feeling is that the Java programmers will welcome us as liberators * greentea: To learn Monads, one must /become/ a Monad. * newsham: There are Just 1 types of people, Nothing and those who understand monads * vegai: In Soviet Russia, YOU blow up GHC's brain! Code Watch Wed Nov 29 11:24:21 PST 2006. simonpj. [65]Make SpecConstr work right for nullary constructors. For totally stupid reasons, SpecConstr didn't work for the (particularly easy) case of nullary constructors like True and False. I just had some equations in the wrong order, so that a Var case came first, which matches a nullary constructor, with the constructor-application case afterwards. The fix is easy. 65. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18033 Fri Dec 1 04:53:04 PST 2006. Wolfgang Thaller. [66]Decouple -O from -fvia-C. Nowadays, there are situations where -fvia-C is definitely unwanted, such as when -fPIC is used on some platforms, so we do not want implicit -fvia-C any more. 66. http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18062 About the Haskell Weekly News Each week, new editions are posted to [67]the Haskell mailing list as well as to [68]the Haskell Sequence and [69]Planet Haskell. [70]RSS is also available, and headlines appear on [71]haskell.org. Headlines are available as PDF. The Haskell Weekly News is also [72]available in Spanish translation. To help create new editions of this newsletter, please see the [73]contributing information. Send stories to dons at cse.unsw.edu.au. The darcs repository is available at darcs get [74]http://www.cse.unsw.edu.au/~dons/code/hwn 67. http://www.haskell.org/mailman/listinfo/haskell 68. http://sequence.complete.org/ 69. http://planet.haskell.org/ 70. http://sequence.complete.org/node/feed 71. http://haskell.org/ 72. http://haskell.org/haskellwiki/HWN/es 73. http://haskell.org/haskellwiki/HWN 74. http://www.cse.unsw.edu.au/~dons/code/hwn _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell