General News

Haskell Weekly News: August 6, 2008

Submitted by byorgey on Wed, 08/06/2008 - 9:21am.
Haskell Weekly News: August 06, 2008

Welcome to issue 80 of HWN, a newsletter covering developments in the Haskell community.

Community News

Brent Yorgey (byorgey, your friendly neighborhood HWN editor) has completed a move to Philadelphia and looks forward to starting a PhD in the programming languages group at U Penn next month.

Roman Cheplyaka (Feuerbach) won second prize at the 2008 International Mathematics Competition!

Announcements

prof2dot, version 0.4.1. Gregory Wright announced the release of prof2dot, a graphical profiling tool for use with GHC. prof2dot is a filter that takes the profiling output generated by running a GHC-compiled program with the "+RTS -pix -RTS", option and turns it into a graphviz dot file.

GHC switching to git. Simon Marlow announced that the GHC team has made the decision to switch the version control system hosting the GHC repository from darcs to git.

Haddock 2.2.1. David Waern announced the release of version 2.2.1 of Haddock, the Haskell documentation tool.

Haskore tutorial. jinjing is creating a Haskore tutorial while learning it. Suggestions and corrections are welcome.

Hoogle 4 beta. Neil Mitchell announced the availability of beta versions of Hoogle 4, both a web client and command-line version. Testing and feedback welcome!

Design your own xmonad shirt. David Lazar has prepared a design on spreadshirt under Designs > Computer > Programming. Choose the color and other formatting and get your very own custom xmonad shirt!

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he has worked on implementing AVL trees and has created several more benchmarks.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he finished up type search, which now gives much better results than Hoogle 3. He also released a public beta version of the command-line interface. Bug reports or feature requests are welcome.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. Last week, he won second prize at the 2008 International Mathematics Competition; while he was away he also found time to read several papers on broad phase collision detection and to begin thinking about general convex polyhedra.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.

Discussion

poll: how can we help you contribute to darcs?. Eric Kow (kowey) asked how the darcs team could better encourage more people to contribute, precipitating a long and productive discussion with many good suggestions.

Jobs

Lectureship in Functional Programming, Nottingham. Graham Hutton announced an opening for a Lecturer (Assistant Professor) in the Functional Programming Lab in Nottingham, a recently formed research group that comprises Thorsten Altenkirch, Graham Hutton, Henrik Nilsson, four research fellows, and eleven PhD students. Applications from the Haskell community are encouraged! The closing date for applications is Friday, 15th August 2008.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • shepheb: don't forget YMCArray
  • matthew-_: you know I increasingly think I'm a very bad haskell programmer - I spend all my time programming at the type level, which is basically untyped. So I just write untyped programs, that happen to run at compile time.
  • SyntaxNinja: just picture monads as tiny, silly, luminous, and devious sprites who fly around your haskell code carrying state from one piece of code to another. I don't think that'll help, but it can't hurt.
  • poetix: Avoiding lambdas is pointless <-- *groan*
  • kzm: My program contains a bug. How ungrateful, after all I've done for it.
  • sw17ch: FunPtrs do not live up to their name

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: July 31, 2008

Submitted by byorgey on Thu, 07/31/2008 - 3:06pm.
Haskell Weekly News: July 31, 2008

Welcome to issue 79 of HWN, a newsletter covering developments in the Haskell community.

Apologies for the slightly late issue this week, attributable to a combination of having to transfer all my files onto a different computer (my former employer had the audacity to request the return of their laptop, now that I no longer work for them) and packing up to move to Philadelphia on Saturday. At any rate, some exciting news this week, including #haskell passing the 500 mark and a new release of Yi -- enjoy!

Community News

Correction from last week's issue: congratulations were bestowed upon a certain "Dr. Johansson" who does not, in fact, exist, having been replaced almost a year ago by the happily married but otherwise identical Dr. Mikael Vejdemo-Johansson.

Announcements

A fancier Get monad or two (a la binary and binary-strict). Chris Kuklewicz announced two new Get-like monads for binary data, with a number of additional features.

#haskell irc channel reaches 500 users. Don Stewart announced that 6 1/2 years after its inception, under the guiding hand of Shae Erisson (aka shapr), the #haskell IRC channel on freenode has finally reached 500 users! This puts the channel at around the 12th largest (and mostest friendliest) community of the 7000 freenode channels.

RandomDotOrg-0.1. Austin Seipp announced the release of the RandomDotOrg package, an interface to the random.org random number generator.

Mueval 0.3.1, 0.4, 0.4.5, 0.4.6, 0.5. Gwern Branwen announced a number of releases of Mueval, a package allowing dynamic runtime evaluation of Haskell expressions. As far as anyone knows, all possible security holes have been plugged, and it's missing only a few features before it can replace hs-plugins as lambdabot's evaluation mechanism.

Need functional programmers for debugging study. Chris Bogart asked for functional programmers currently developing or maintaining a medium to large-sized program, willing to let him look over their shoulder while they do debugging or coding on the project.

Yi 0.4.1. Jean-Philippe Bernardy announced the 0.4.1 release of the Yi editor, a text editor written and extensible in Haskell. The long-term goal of the Yi project is to provide the editor of choice for Haskell programmers.

Hipmunk 0.1 and HipmunkPlayground 0.1. Felipe Lessa announced the availability of Hipmunk, containing bindings for the Chipmunk 2D physics engine, and Hipmunk Playground, where you may see some of Hipmunk's features in action. The bindings are low-level but try to hide most of the nasty details of the C code.

faster BLAS bindings. Patrick Perry announced that he has largely closed the C performance gap with his recent Haskell BLAS bindings. Expect a new release shortly.

FPers in Northwest Arkansas?. Nathan Bloomfield is wondering if there are any Haskellers in the NW Arkansas region to start a functional programming interest group in the area.

Italian Haskellers Summer Meeting. Pasqualino 'Titto' Assini announced something about a summer meeting for Italian Haskellers. If you would like to know precisely what it was that was announced, I suggest you learn Italian.

InterleavableIO. Marco Tulio Gontijo e Silva announced a package, interleavableIO, based on Jules Bean (quicksilver)'s monadic tunneling code.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he rewrote type search: after three days of coding, it required only a few minor debugging tweaks to get it to work. Haskell FTW! Expect a public beta of the command line interface next week.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he has finally got everything up and running bug free on the new API, except the internals are still using association lists instead of AVL trees. He also exhibits a promising benchmark.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.

Discussion

Build system woes. Roman Leshchinskiy began a discussion on Cabal and GHC's new build system, with some suggestions for improving the process.

Syb Renovations? Issues with Data.Generics. Claus Reinke brought up a number of issues with Data.Generics, with suggestions for improvement.

A question about mfix. Wei Hu asked a question about the definition and semantics of mfix, the monadic fix operation.

Using fundeps to resolve polymorphic types to concrete types. Bryan Donlan asked a question about the interaction between functional dependencies and type checking, with a rather subtle answer.

Best book/tutorial on category theory and its applications. fero asked for recommendations on a book about category theory.

Loss of humour. Andrew Coppin laments the loss of some of Haskell's humorous heritage.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • mauke: a hint to beginners: typing 'fix error' in ghci does not have the intended effect.
  • mauke: Hungarian Notation constructs a type system in the mind of the programmer.
  • rwbarton: I was hoping for a pile of Functors.
  • Baughn: [on lambdabot] Yes, PMS is a real issue. Poor memory size, that is.
  • Cale: There should be a website called "Static Equilibrium or Not" where you rate pictures according to whether you think the depicted objects are in static equilibrium.
  • sahko: xmonad is an ancient african word for "you dont need to use a mouse fool".
  • doidydoidy: Category theory is exactly like a comic book alternative universe, except they use the prefix "co-" instead of "bizarro".

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: July 23, 2008

Submitted by byorgey on Wed, 07/23/2008 - 2:30pm.
Haskell Weekly News: July 23, 2008

Welcome to issue 78 of HWN, a newsletter covering developments in the Haskell community.

Issue 78: In Which Michi and Neil Become Doctors, Sun Donates Some Sweet Loot, and Jules Is Revealed To Be A Helpful Anthropomorphic Robot

Community News

Congratulations are in order this week to two members of the community who have completed PhDs. Neil Mitchell (ndm) passed his PhD viva last week, subject to minor corrections. Mikael Johansson (Syzygy-) has also completed his PhD and will soon be starting a postdoc at Stanford with the topology in computer science working group. Congratulations, Drs. Mitchell and Johansson!

Announcements

rosezipper. Eric Kow (kowey) announced the release of rosezipper, Krasimir Angelov and Iavor S. Diatchki's Data.Tree implementation of zippers.

list-extras 0.1.0. wren ng thornton (koninkje) announced the initial release of list-extras, a home for common not-so-common list functions.

Sun Microsystems and Haskell.org joint project on OpenSPARC. Duncan Coutts (dcoutts) announced a joint project between Sun Microsystems and the Haskell.org community to exploit the high performance capabilities of Sun's latest multi-core OpenSPARC systems via Haskell! Sun has donated a powerful 8 core SPARC Enterprise T5120 Server to the Haskell community, and $10,000 to fund a student to further develop support for high performance Haskell on the SPARC. The student will work with a mentor from Haskell.org and an adviser from Sun's SPARC compiler team. If you're a student and this sounds interesting to you, send in those applications!!

Hayoo! beta 0.2. Timo B. announced the second beta release of Hayoo!, a Haskell API search engine providing advanced features like suggestions, find-as-you-type, fuzzy queries and much more. The major change in this release is the inclusion of all packages available on Hackage in the index.

Haskell-beginners mailing list. Benjamin L. Russell announced the creation of the Haskell-Beginners Mailing List, beginners at haskell.org, devoted to discussion of primarily beginner-level topics related to Haskell. It's already off to a great start, so if you're a Haskell beginner, or someone interested in answering beginner questions, please subscribe!

Haskeline 0.2. Judah Jacobson announced the initial (alpha-ish) release of Haskeline, a library for line input in command-line programs. It is similar in purpose to editline or readline, but is written in Haskell and thus (hopefully) more easily used in other Haskell programs.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he ran QuickCheck on his test suite for the first time, and found a large number of failing tests! He's got his work cut out for him straightening those out over the next few days.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. This week, he implemented full handling of rigid body collisions, including angular velocity. Next he plans to explore various ways to make the engine faster, including broad-phase collision detection.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. This week, he revealed his "mystery project": an HTML pretty-printer for GHC core! Here is a sample. Now his focus turns to tidying things up and solidifying documentation in preparation for getting his patches merged into GHC HEAD.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he fleshed out the final part of type search, including support for instances and alpha renaming of variables. Unfortunately, it uses too much memory to be feasibly run on the base libraries! Neil has some ideas on how to fix this, however, which he plans to tackle next week.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. He has finally completed a working implementation for analysing declarations and definitions, and presents a working example of the library's use.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.

Libraries

Proposals and extensions to the standard libraries.

generalize mapAccumL/R. Ross Paterson proposed adding generalized versions of mapAccumL and mapAccumR to Data.Traversable.

signal-handling API. Simon Marlow proposed a new signal-handling API.

Discussion

Point-free style in guards. L29Ah asked a question about using a points-free style in guard expressions, leading to a number of clever suggestions involving custom combinators.

Optimizing sequence. Gracjan Polak started a discussion on the strictness properties of the sequence function, and its implications for optimization. It sounds as though adding an alternate strict version of sequence to the libraries could be a good idea.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • kryptiskt: my point is that our brain isn't some logic machine, it's a jury-rigged contraption to help us get food, friends and sex. It's the Perl of intelligences.
  • Fallacy: peyton `simon` jones
  • Quadrescence: [on #haskell] Well, the nice population here attracts people. Unlike other pla_C_es. How'd those underscores get there?
  • mauke: hmm, regexes get even more cryptic after z-encoding: ZLz3fUZCZLz3fUzlznzrwZRZLz3fUzezrwZRzbZLz3fUzlzezrwZRZLz3fUznzrwZRZR
  • BMeph: Haskell: Where even the newest newcomer acts monadically: join :: ask (ask something) -> ask something
  • Quadrescence: quicksilver: You must be an anthropomorphic robot or something.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: July 16, 2008

Submitted by byorgey on Wed, 07/16/2008 - 2:30pm.
Haskell Weekly News: July 16, 2008

Welcome to issue 77 of HWN, a newsletter covering developments in the Haskell community.

Announcements

Takusen 0.8.3. Alistair Bayley announced the release of Takusen 0.8.3, with ODBC support, more Cabal improvements, bug fixes, and some basic result-set validation.

Launching Haskell Group in Vancouver, Canada. Jon Strait announced that a Haskell Programmers Group has been created in Vancouver; the first meeting is scheduled for next Monday, July 21st. Feel free to join the Google Groups list to be notified of future events, or just show up to a meeting to bounce ideas and questions off of other Haskell programmers.

Sphinx full-text searching client on Hackage. Chris Eidhof announced work on a client for the sphinx full-text search engine. Help hacking on it, testing it or improving documentation is welcome.

haskell-src-exts 0.3.5. Niklas Broberg announced that the haskell-src-exts package is now updated to understand the current version of Template Haskell syntax. Bug reports welcome.

Prime time for Haskell. Janis Voigtlaender announced that Haskell STM is featured in an article in this month's Communications of the ACM.

vector 0.1 (efficient arrays with lots of fusion). Roman Leshchinskiy announced an initial release of the vector library, which will eventually provide fast, Int-indexed arrays with a powerful fusion framework.

Galois Tech Talks: Stream Fusion for Haskell Arrays. Don Stewart announced that he was giving this week's Galois Tech Talk, on stream fusion for Haskell arrays. The talk was yesterday, July 15, but hopefully some sort of recording or slides will be made available.

protocol-buffers. Chris Kuklewicz announced a very early version of the protocol-buffers package, a Haskell interface to Google's newly released data interchange format.

GHC IRC meeting. Simon Marlow announced the (first weekly?) IRC meeting to discuss GHC, a scheduled time when the developers turn up on #ghc, discuss current topics around GHC, and users can chime in with questions, points for discussion, complaints and so on. The first meeting took place on July 16 at 1600 BST (UTC +1)/0800 PDT (UTC-7)/1100 EDT (UTC-4), in the #ghc channel on chat.freenode.net; hopefully this will become a weekly event.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API. He recently asked for comments on a proposed refactoring to the GHC API, creating a new Ghc monad to capture error handling and single-threaded use of Sessions.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. This week, he wrote a ton of Haddock documentation for GHC internals. He also added the ability for compiler plugins to generate their own source annotations, to allow plugins to use intermediate results from previous plugins. He's currently working on an exciting, secret feature: tune in next week to find out what it is!

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. Jamie is currently working on, tweaking the api, writing tests and writing reference implementations on sorted and unsorted association lists.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he worked on type search and database generation. Next week he plans to finish up type search and release and command-line version.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

Libraries

Proposals and extensions to the standard libraries.

adding split to Data.List. Gwern Branwen proposed adding some split-like functions to Data.List. Will they actually get added this time? Will people be able to agree on one of the seventeen possible sets of semantics? Tune in next time...

Discussion

GHC API: monad and error handling. Thomas Schilling asked for comments on a proposed refactoring to the GHC API, creating a new Ghc monad to capture error handling and single-threaded use of Sessions.

Jobs

Research positions on Modeling and Analyzing Software Adaptation, University of Koblenz. Ralf Lammel announced two research positions for a postdoc and a PhD student, available initially for 2 years. The successful applicants will work on the research theme of "ADAPT: Modeling and Analyzing Software Adaptation". The objective of ADAPT is to relate, advance, combine, and challenge adaptation methods and associated methods of modeling and analyzing that are used by the communities of software engineering, programming languages, logic-based modeling, multi-agent systems, formal methods, SOA, web systems, and mobile, autonomous systems.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • Japsu: segfault cat is watching you unsafeCoerce
  • z0MB13: who can say hello to me as a md5 or decipher what kind of technique can be used to remove the password
  • denq: [upon experiencing a moment of enlightenment] oh! something bing in my brain :)
  • Pseudonym: Pseudonym needs codependent types - useful when you're doing dysfunctional programming.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/.

Haskell Weekly News: July 9, 2008

Submitted by byorgey on Wed, 07/09/2008 - 12:57pm.
Haskell Weekly News: July 09, 2008

Welcome to issue 76 of HWN, a newsletter covering developments in the Haskell community.

The ICFP Programming Contest is this weekend! Go forth and kick some butt, Haskell-style. A big thank you in advance to all those at PSU and U Chicago who are working hard to write and run the contest.

Community News

Luke Palmer (luqui) is having a great time in Antwerp.

John Goerzen's son is so cute, it should be illegal.

Announcements

Haskell-cafe on lively.com. Edward Kmett has created a Haskell Cafe room on Google's new virtual-world platform Lively (which is unfortunately windows-only at the moment).

Uniplate 1.2. Neil Mitchell announced the release of Uniplate 1.2, a library for reducing boilerplate code by performing generic traversals. Version 1.2 features some bug fixes, a compatibility layer with Compos and SYB, and a 25-50% performance increase over Uniplate 1.0.

GHC 6.8.2 stable in Gentoo. Luis Araujo announced that GHC 6.8.2, and its accompanying libraries, have now been marked as stable in the official Gentoo portage tree.

The Monad.Reader (11) - Call for Copy. Wouter Swierstra announced a call for copy for Issue 11 of the Monad.Reader. The submission deadline is August 1, although you should let Wouter know as soon as possible if you plan to submit something.

hCsound. John Lato announced the initial public release of hCsound, a Haskell binding to the Csound audio processing language API.

Portland and OSCon. John Goerzen inquired whether any Haskellers in Portland would be interested in getting together during OSCon July 23 or 24.

Faster graph SCCs. Iavor Diatchki announced that he has implemented Tarjan's algorithm for computing the strongly connected components of a graph, which is considerably faster than the containers package for larger graphs. Iavor's implementation is available in the GraphSCC package.

parallel map/reduce. jinjing exhibited some code for doing parallel map/reduce computations.

Disciplined Disciple Compiler. Ben Lippmeier announced version 1.1 of the Disciplined Disciple Compiler (DDC), an explicitly lazy dialect of Haskell, with support for first class destructive update of arbitrary data, computational effects without the need for state monads, and type directed field projections. Version 1.1 includes a number of new features and more example code.

darcs 2.0.2. David Roundy announced the release of darcs 2.0.1 and 2.0.2. These releases fix quite a few bugs, and users of darcs 2 are strongly recommended to upgrade.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. Over the past two weeks, he has implemented type safe dynamic loading, an annotations system, and some sample plugins.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, he has been working on type searching, using a much more efficient algorithm than type search in previous versions of Hoogle. Next week, he plans to finish off type search and work on the build system.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. He spent most of this week fixing bugs and improving existing simulation code. And he now has something to show for it!

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. This week, he created a semantic representation for declarations and types, and a way to convert between an AST representation and a semantic representation.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.

Libraries

Proposals and extensions to the standard libraries.

Extensible exceptions. Ian Lynagh sent out a proposal to replace the current exception mechanism in the base library with extensible exceptions, a la Simon Marlow's extensible extensions paper. Deadline for discussion is 25th July.

Discussion

Qualified import syntax badly designed (?). Neil Mitchell began a discussion about Haskell syntax for qualified module imports (and module imports in general).

Trouble with zip12. Michael Feathers is having trouble with the zip12 function and some weird SQL-related errors...

Santana on my evil ways. John D. Ramsdell set off a spate of Haskell song and poetry.

Alternatives to convoluted record syntax. Dougal Stanton asked about alternatives to convoluted record update syntax, eliciting a number of interesting responses.

Jobs

Lectureship in Functional Programming, Nottingham. Graham Hutton announced an opening for a Lecturer in the Functional Programming Lab in Nottingham, a recently formed research group that comprises Thorsten Altenkirch, Graham Hutton, Henrik Nilsson, four research fellows, and eleven PhD students. Applications from the Haskell community are encouraged! The closing date for applications is Friday 15th August 2008.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • jfredett: I'd code but I'm so drugged up I could only write effective code in perl.
  • SamB: [SamB] @let forkbomb n = forkbomb (2*n) `par` forkbomb (2*n+1) [lambdabot] Defined. [SamB] > forkbomb 1 -!- lambdabot [n=lambdabo@72.249.126.23] has quit [Remote closed the connection]
  • vinicius: haskell is macgyver with bananas, barbed wired and envelopes
  • dons: huh, amazon recommends Neal Stephenson + RWH
  • Pseudonym: trapped in the IO monad: The lesser known R. Kelly opera
  • byorgey: Extreme Anger Programming: you are paired with a really dumb partner and after twenty minutes of agony you rip the keyboard from their hands, delete everything they typed, and do it yourself

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: July 2, 2008

Submitted by byorgey on Wed, 07/02/2008 - 1:57pm.
Haskell Weekly News: July 02, 2008

Welcome to issue 75 of HWN, a newsletter covering developments in the Haskell community.

Announcements

Anglo Haskell 2008. Matthew Sackman announced AngloHaskell 2008, a gathering of all people Haskell-related from beginners, to seasoned hackers to academic giants. All and more are welcomed by large fuzzy green lambdas. The proposed dates and location are Friday the 8th and Saturday the 9th of August, at Imperial College, London.

CFP - Special Issue of Fundamenta Informaticae on Dependently Typed Programming. Wouter Swierstra announced a call for papers for a special issue of Fundamenta Informaticae on Dependently Typed Programming. The deadline for submissions is October 1.

Gtk2Hs 0.9.13. Peter Gavin announced the release of Gtk2Hs 0.9.13, including bindings for Gnome VFS and GStreamer, a new Gtk+ tutorial adapted by Hans van Thiel, cairo image stride support, and more.

Hasim. Jochem Berndsen announced Hasim, a small project to create a library to do discrete event simulation in Haskell, using monads to define a domain-specific language for "actions" of a process.

Galois move. Don Stewart announced that Galois has completed the move of its data center. Expect speedier response times for hackage.haskell.org and darcs.haskell.org.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4. This week, Neil worked on better Haddock database generation, lazy name searching, and a snazzy --info flag for Hoogle. Next up: type search!

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. This week, he worked on implementing Mirtich's V-Clip algorithm for collision detection (and got it to work), cabalized his project and added documentation. He also ran into an interesting QuickCheck puzzle.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. This week, he created a generic framework for automatically running QuickCheck tests at a number of different types. This week he plans to synthesize the many suggestions from the discussion on the libraries list into a stable API design.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. This week he worked on a better representation for declarators, and abstracted the notion of an InputStream over both String and ByteString, among other accomplishments.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API. Officials at HWN headquarters have released a statement reversing their previous position regarding the existence of Thomas, citing regrettably faulty information to explain their previous misapprehensions. Expect to hear more from Thomas soon, now that he has finished graduating and moving.

Libraries

Proposals and extensions to the standard libraries.

GetOpt formatting improvements. Duncan Coutts proposed some modifications to make the output of the System.Console.GetOpt library more readable, resulting in quite a bit of discussion.

HughesPJ improvements. Benedikt Huber proposed a patch with some bug fixes, performance improvements, and QuickCheck test suite for the Text.PrettyPrint.HughesPJ pretty-printing library.

Discussion

A Monad for on-demand file generation?. Joachim Breitner asked about a monad for transparently tracking files which may need to be regenerated due to dependencies, leading to an interesting discussion of incremental computation, strict vs. lazy I/O, and other issues.

New mailing list proposal: Haskell-Edu. Benjamin L. Russell sent out a message proposing a new mailing list hosted at haskell.org, "Haskell-Edu: The Haskell Educational Mailing List." The new mailing list would be guided by the principle that Haskell is useful not just in research, but also in teaching programming as part of a liberal arts education. Comments and discussion welcomed.

Learning GADT types to simulate dependent types. Paul Johnson is trying to use GADTs to simulate aspects of a dependently typed system, and asks for help improving his Oleg rating.

Call graph tool?. C.M.Brown asked whether there is a tool for visualizing the call graph for a collection of source files, leading to a discussion of various tools.

Jobs

Formal methods and automated reasoning at Rockwell Collins. Janis Voigtlaender passed on an opening for a Senior Systems Engineer at Rockwell Collins. The opening is for a computer scientist or engineer to develop and apply automated analysis to computer systems and to pursue research in formal methods and automated reasoning. Contact: rmgatto at rockwellcollins.com.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • quicksilver: [on what OS sjanssen uses] sjanssen runs haskell programs in his head; much more efficient.
  • EvilTerran: "We were somewhere around Barstow, on the edge of the desert, when the phantom types began to take hold."
  • audreyt: o/~ the phantom of the typesystem is here / inside my mind! o/~
  • dmwit: No, no, no, ($) isn't right-assoc, it's wrong-assoc.
  • solrize: this would never happen in haskell: i sent in a search query to a certain python program, but left the query field empty, expecting to get back an error message. instead it found a bunch of books written by the diet doctor Gary Null.
  • heatsink: We're all inside do-blocks in the IO monad if you think about it.
  • djsiegel: [upon having a question answered by dons] oh my, I'm talking to the man
  • mar77a: the first computers were big because they were actually cupboards with fast humans inside

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: June 25, 2008

Submitted by byorgey on Wed, 06/25/2008 - 3:21pm.
Haskell Weekly News: June 25, 2008

Welcome to issue 74 of HWN, a newsletter covering developments in the Haskell community.

This week, you'll notice a bit more detail in the 'Blogs' section. I've added summaries to some of the posts, to help you decide which you might be interested to read (only a few this week, since I added them at the last minute). I've also >>> highlighted blogs not syndicated on Planet Haskell---mostly people who have just begun learning Haskell and decided to blog about it. Go show them some comment love, and invite them into the community!

Community News

Andrew Wagner (chessguy) recently flew out to Microsoft for an interview with their Live Search team. In an email to the cafe, he shares some stories from his experience and some interesting coding challenges.

Announcements

HAppS self-demoing tutorial. Thomas Hartman announced a self-demoing, HStringTemplate-using intro to HAppS. Check out the live demo or obtain it from Hackage.

NWFP Interest Group. Greg Meredith announced the next monthly meeting of the NW Functional Programmers Interest group, 6:30 on June 25 at the Seattle Public Library. Greg will talk about a very cool compositional representation of graphs he's been tinkering with recently.

ICFP final call for posters. Matthew Fluet announced the final call for proposals for the ICFP 2008 poster session, which should be submitted by June 30. Let people know what you're working on!

type-level and parameterized-data packages. Alfonso Acosta announced the release of the type-level and parameterized-data packages, which provide type-level computation and parameterized types a la a dependently-typed system.

Lambda in the sun. James Iry announced the creation of Southern California Functional Programmers (SoCalFP), a group for people in LA, Orange County, and San Diego to meet to discuss, debate, present, and learn about functional programming concepts and techniques in various languages.

Real World Haskell. Bryan O'Sullivan announced the availability of ten new draft chapters of Real World Haskell, the upcoming O'Reilly book being written by Bryan, John Goerzen, and Don Stewart. In case you were worried, yes, you'll be able to have one in your Christmas stocking!

Pugs on hackage!. Audrey Tang has uploaded to Hackage version 6.2.13.2 of Pugs, an implementation of Perl 6 in Haskell.

Literal programming with rst-literals. Martin Blais described a neat use of his utility rst-literals to extract Haskell code from ReST documents, enabling a different style of literate programming.

Pipe 1.0. Matti Niemenmaa announced the release of Pipe, a library for piping data through a pipeline of processes.

HUnit. Richard Giraud announced that he has improved the HUnit documentation and published the changes in a darcs repository.

hback. Norbert Wojtowicz announced a new release of hback, a Haskell implementation of the dual n-back memory game using gtk2hs.

Google Summer of Code

Progress updates from participants in the 2008 Google Summer of Code.

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4, and recently added two new features, multi-word search and intelligent suggestions.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell. This week he intended to implement simple ad-hoc cubic collision geometry to test collisions with rotation, but the code became too cumbersome and non-extensible. He took a break to read some papers, and found a better solution.

GHC plugins. Max Bolingbroke is working on dynamically loaded plugins for GHC. This week he worked on adding arbitrary user-specified phases to GHC, implementing a control system, pipeline generation, and Template Haskell integration. Next he plans to work on a plugin annotation system.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal. He has posted a detailed explanation of his project, some of the issues involved, and his progress so far.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. This week he worked on AST documentation and improvements, prepared to port the AST analysis from c2hs, and worked on the pretty printer's internals.

Generic tries. Jamie Brandon is working on a library for efficient maps using generalized tries. Recently he has worked on implementing some bitpacking tools to save memory.

GHC API. Thomas Schilling (nominolo) is supposedly working on improvements to the GHC API. However, officials at HWN headquarters have begun privately speculating that Thomas does not, in fact, exist.

Discussion

history of tuples vs pairs. Conal Elliott asked about the history of support for n-tuples in Haskell and ML.

hackageDB maintainer policy. Ross Paterson began a lengthy discussion towards agreeing on a policy for uploading packages to Hackage, specifying whether the package is maintained and who is maintaining it, and other related issues.

What is a rigid type variable?. Xiao-Yong Jin asked what the 'rigid type variables' are that are sometimes referred to in GHC error messages. Read the thread for a concise discussion and the solution to the original problem.

Map interface. Jamie Brandon started a thread asking for feedback on his proposed API for generic tries, and the discussion is still ongoing.

Left and right folds. George Kangas exhibited a pair of very elegant alternate definitions for left and right fold, and showed how this alternate viewpoint makes obvious several algebraic identities as well as the generalization to Data.Foldable. A must-read for the aspiring functional programmer.

ribbonsPerLine. Alfonso Acosta asked an interesting question about "ribbonsPerLine" in the Text.PrettyPrint.HughesPJ library. Do you know what it does? The answer can be found in the original paper describing the library.

Jobs

PhD position at University of Strathclyde, Glasgow. Simon Marlow announced, on behalf of Patricia Johann, an open PhD position in operational and categorical approaches to parametricity. The funded position is in the newly-formed Mathematically Structured Programming group at the University of Strathclyde, comprising Neil Ghani, Patricia Johann, and Conor McBride.

Quantitative Trading Developer Position at Hutchin Hill Capital. Neil Mehra announced an open position for a Quantitative Trading Developer at Hutchin Hill Capital, a newly formed multi-strategy hedge fund located in midtown Manhattan.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • povman: when does ghc6.10 plan to release itself?
  • Baughn: So I just rewrote a fairly complex text extraction/indexing system to pipeline its work across several processors - painlessly, in less than five minutes. Bravo, haskell!
  • monochrom: We need to cabalise Cale.
  • Botje: h0t (monoid `mappend` monoid) action?
  • quicksilver: the only tool we have in haskell98 for performing an action is the magic sigil 'main ='
  • solrize: haskell has a very steep unlearning curve :)
  • Botje: drug users pass around needles, haskell users pass around Oleg papers
  • qwe1234: i know haskell, ocaml, scheme and prolog better than you ever will.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: June 18, 2008

Submitted by byorgey on Wed, 06/18/2008 - 2:50pm.
Haskell Weekly News: June 18, 2008

Welcome to issue 73 of HWN, a newsletter covering developments in the Haskell community.

The Google Summer of Code is in full swing, preparations are underway for ICFP and the eleventh ICFP Programming Contest, and cabal-install is oh-so-sexy. It's an exciting time to be a part of the Haskell community!

Community News

Andy Gill has completed his move from Portland, OR to Kansas.

Luke Palmer (luqui) has begun work for Anygma, Peter Verswyvelen's startup using Haskell (among other languages) to ``generate easy-to-use tools for creating audio-visual 2D/3D content.''

Congrats to Andy and Luke on their new beginnings!

Announcements

Final CFP: 2008 Haskell Symposium. Andy Gill announced the final call for papers for the 2008 Haskell Symposium. The deadline is the 23rd of this month; please submit a paper!

cabal-install. Duncan Coutts announced the release of cabal-install-0.5, along with the release of Cabal-1.4 to support it. It features an improved command line interface, smarter upgrading, and is made of win. If you are still stuck in the dark ages of runhaskell Setup configure blah blah, then the imperative monkeys have already won.

ICFP programming contest. Tim Chevalier announced the eleventh annual ICFP programming contest, to be held from Friday, July 11, 2008 to Monday, July 14, 2008. Are you ready?

c.h.o trac. Ian Lynagh announced that it is now possible for projects on community.haskell.org to create themselves a trac, providing a bug tracking system and wiki.

random-access-list. Stephan Friedrichs announced an implementation of Chris Okasaki's random-access lists, providing typical list operations (cons, head, tail) in O(1) and indexed random-access in O(log n).

GHC version 6.8.3. Ian Lynagh announced a new patchlevel release of GHC, containing a number of bugfixes relative to 6.8.2.

Printf-TH. Marc Weber announced that he has taken over maintenance of the Printf-TH library, which implements a printf function via Template Haskell, in order to guarantee that wrong argument types or the wrong number of arguments will result in compile time errors.

Mueval. Gwern Branwen announced the release of the mueval package, providing a standalone executable for evaluating Haskell expressions based on the GHC API.

Topkata. Christoph Bauer announced the release of Topkata, a simple OpenGL game written in Haskell. The goal is to guide a ball through a labyrinth to the opposite corner.

Haddock Trac. David Waern announced a new bug-tracker and wiki for the Haddock project.

Fortress talk. Jeff Polakow announced that a talk on Fortress, a new OO/functional language from Sun, will take place on Wednesday, June 25 at 6:30pm in Manhattan, New York, USA.

ieee-0.2. Patrick Perry announced the release of ieee, a library that provides approximate comparison of floating point numbers based, NaN-aware minimum and maximum, and a type class for approximate comparisons.

Google Summer of Code

Hoogle 4. Neil Mitchell (ndm) is working on Hoogle 4, recently adding support for generating Hoogle databases to Haddock, using the GHC API. This week he plans to work on database creation and text searches.

DPH physics engine. Roman Cheplyaka (Feuerbach) is working on a physics engine using Data Parallel Haskell, recently adding rotations, represented by quaternions. Next he plans to handle collisions properly with respect to rotation, and to add documentation.

Generic tries. Jamie Brandon is writing a library for efficient maps using generalized tries. He has come up with a preliminary API and is asking for feedback.

Cabal dependency framework. Andrea Vezzosi (Saizan) is working on a make-like dependency analysis framework for Cabal, recently refining the core model, that has built its first sources in the testing environment. The next step will be dealing with preprocessor chaining.

Language.C. Benedikt Huber (visq) is working on Language.C, a standalone parser/pretty printer library for C99. The test suite is finished, the parser and pretty printer support most GNU extensions, and all failing tests of gcc.dg are documented.

GHC API. Thomas Schilling (nominolo) is working on improvements to the GHC API.

GHC plugins. Maximilian Conroy Bolingbroke is working on dynamically loaded plugins for GHC.

Discussion

Low-level array performance. Dan Doel began a discussion about the fannkuch benchmark and the current state of Haskell support for fast low-level array operations.

1/0. Evan Laforge began a lively discussion about Infinity, NaN, and Haskell's support for the IEEE floating-point standard.

Documenting the impossible. Andrew Coppin began a discussion on the relative merits of {-# IMPOSSIBLE #-} pragmas, calls to 'error' and 'assert', the use of tools like Catch, and other methods of annotating impossible cases.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • ddarius: Here's the short guide to Haskell for OO programmers: Haskell isn't at all an OO language.
  • swalters: I'm starting to believe that learning haskell is mostly about carefully crafting small and clever functions and then finding out that they are already part of the standard library.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at seas dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: June 11, 2008

Submitted by byorgey on Wed, 06/11/2008 - 3:20pm.
Haskell Weekly News: June 11, 2008

Welcome to issue 72 of HWN, a newsletter covering developments in the Haskell community.

Greetings, Haskellites! As many of you have already heard, Don Stewart has passed on the editorship of the HWN to me (Brent Yorgey). I'd like to thank Don and John Goerzen for their great work putting it together in the past, and I'm excited to make the HWN once again into a reliable, useful compendium of happenings in the Haskell community. You can expect to see a few changes---for example, hackage uploads will no longer be listed in the HWN (unless they are announced on the haskell or haskell-cafe mailing lists), since you can now see a dynamically updated list on the front page of the Haskell wiki. This edition includes all the announcements going back to Issue 71, but only some of the blog posts, since I couldn't find a way to get old feed data from Planet Haskell. Hopefully next week things will settle down to something more normal(ish) and I can begin tinkering with the format. Feel free to send suggestions and/or stories for inclusion to me, byorgey at gmail dot com. Enjoy---'Putting the W back in HWN!'

Announcements

hfann. Olivier Boudry announced the first release of the hfann module, an interface to the 'Fast Artificial Neural Network (FANN)' library.

funsat. Denis Bueno announced a release of funsat, a modern, DPLL-style SAT solver written in Haskell. Funsat solves formulas in conjunctive normal form and produces a total variable assignment for satisfiable problems.

DEFUN08: Call for talks and tutorials. Matthew Fluet announced the final call for talks and tutorials at DEFUN 2008, to be held in conjunction with ICFP.

Cabal-1.4 Release Candidate. Duncan Coutts announced the second release candidate for Cabal-1.4.

Programmer's Minesweeper. Bertram Felgenhauer announced a Haskell implementation of Programmer's Minesweeper, which allows programmers to implement minesweeper strategies and run them.

hackage RSS feed. Don Stewart announced a new RSS feed for the most recently uploaded packages on Hackage.

BLAS bindings. Patrick Perry announced a set of bindings for the BLAS linear algebra library.

Xen Control bindings. Thomas DuBuisson announced the hsXenCtrl package, with FFI bindings to Xen.

bloomfilter. Bryan O'Sullivan announced the availability of a fast Bloom filter library for Haskell. A Bloom filter is a probabilistic data structure that provides a fast set membership querying capability. It does not give false negatives, but has a tunable false positive rate.

HCAR. Janis Voigtlaender announced the 14th edition of the Haskell Community and Activities Report (HCAR).

HSmugMug. Daniel Patterson announced HSmugMug, a Haskell wrapper to the photo hosting site SmugMug's API.

LIPL. Sam Lee announced the release of LIPL, a tiny functional language implemented as a term project to learn Haskell.

Glome 0.51. Jim Snow announced version 0.51 of glome, a raytracer written in Haskell.

ChessLibrary. Andrew Wagner announced the ChessLibrary project, and mentioned that he is looking for an experienced haskeller to serve as a mentor for this project.

xmonad-utils. Gwern Branwen announced the upload to hackage of xmonad-utils, a couple of small Xlib programs which might be useful for xmonad users.

Roguestar. Christopher Lane Hinson announced the release of Roguestar 0.2, a science fiction themed roguelike (turn-based, chessboard-tiled, role playing) game written in Haskell.

Streaming Component Combinators. Mario Blazevic announced the 0.1 release of Streaming Component Combinators in Haskell, based on earlier work done in OmniMark.

Twitter client. Chris Eidhof announced a simple terminal-based Twitter client.

Monad.Reader call for copy. Wouter Swierstra issued a call for copy for The Monad.Reader. The submission deadline for Issue 11 is August 1.

category-extras. Edward Kmett announced a new release of the category-extras package, involving all sorts of new categorical goodness.

Session Types for Haskell. Matthew Sackman announced the availability of Session Types for Haskell. Session types are a means of describing communication between multiple threads, and statically verifying that the communication being performed is safe and conforms to the specification.

Haddock 2.1.0. David Waern announced the release of Haddock 2.1.0.

ReviewBoard. Adam Smyczek announced the release of Haskell bindings to ReviewBoard, a development tool designed to monitor code changes and analyze dependencies.

diagrams. Brent Yorgey announced the initial release of Graphics.Rendering.Diagrams, an embedded domain-specific language for creating simple pictures and diagrams, built on top of the Cairo vector graphics library.

HXT. Uwe Schmidt announced a new release of the Haskell XML Toolbox.

GSoC. Malcolm Wallace announced the seven student projects chosen to be funded by the Google Summer of Code.

bytestring. Don Stewart announced a new major release of bytestring, the efficient string library for Haskell, suitable for high-performance scenarios.

HXQ. Leonidas Fegaras announced the release of HXQ, an XQuery compiler/interpreter for Haskell.

Win32-notify. Niklas Broberg announced the first release of Win32-notify, an inotify-alike for Windows.

cpuid. Martin Grabmueller announced the new cpuid package, which provides functionality for accessing information about the currently running IA-32 processor.

Emping. Hans van Thiel announced version 0.5 of the Emping package, a utility which derives the shortest rules from a table of rules.

datapacker. John Goerzen announced the first release of datapacker, a tool to pack files into a minimum number of CDs, DVDs, or any other arbitrary bin.

darcswatch. Joachim Breitner announced the release of darcswatch, a tool for tracking darcs patches and repositories.

Generic Haskell. Thomas van Noort announced the fifth release of Generic Haskell, an extension of Haskell that facilitates generic programming.

drawingcombinators. Luke Palmer announced the release of graphics-drawingcombinators, a wrapper around OpenGL with a functional interface.

The Monad.Reader. Wouter Swierstra announced the publication of Issue 10 of The Monad.Reader, a quarterly magazine about functional programming.

Well-Typed LLP. Ian Lynagh announced that he, Björn Bringert and Duncan Coutts have set up a Haskell consultancy company, Well-Typed LLP. Their services include application development, library and tool maintenance, project advice, and training.

hgdbmi. Evan Martin announced the hgdbmi package, which wraps the operations of attaching GDB to a process and parsing the GDB/MI output.

xmonad. Don Stewart announced the release of xmonad version 0.7. Updates include improved integration with GNOME, more flexible "rules", various stability fixes, and of course, many new and interesting features in the extension library.

Haskell Server Pages. Niklas Broberg announced a new release of Haskell Server Pages, a programming model for writing dynamic web pages in Haskell, both server-side and client-side.

Network.MiniHTTP. Adam Langley announced a release of network-minihttp, a small bytestring HTTP library.

Disciplined Disciple Compiler. Ben Lippmeier announced the initial alpha release of the Disciplined Disciple Compiler, an explicitly lazy dialect of Haskell.

haskell-src-exts. Niklas Broberg announced a new release for haskell-src-exts, a package for handling and manipulating Haskell source code.

omnicodec. Magnus Therning announced the package omnicodec, containing two command line utilities for encoding and decoding data.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • roconnor: if you click your heels and say ``there is no binding like gtk2hs'' then dcoutts will appear and answer your question.
  • mauke: the first rule of fix club is "the first rule of fix club is "the first rule of fix club is...
  • oerjan: so does this mean that a comonad is like a wildlife preserve on an island in a sea of nuclear waste?
  • quicksilver: head-explosion is the solution, not the problem.
  • Botje: [on googling for polyvariadic typeclasses] OH GOD THE FIRST HIT IS OLEGS SITE! / *ahum* / I meant, "yay, reading material"
  • Baughn: From my point of view, anyone who understands everything ghc can do is /scary/. I'm sure that will change once I reach that level myself, but then again, there's also the possibility that I'll be in a permanent state of autophobia.
  • newsham: I think the problem with people asking homework questions in this channel is that the people in this channel don't have enough homework questions of their own to do.
  • quicksilver: *** quicksilver beats Deewiant with the i-will-not-use-fail-stick [Deewiant] quicksilver: I'm willing to accept a good alternative. [quicksilver] no. all you are permitted to accept is a beating.
  • mar77a: MONAD ARGHH GHGRHGH HGHRGHR RUN
  • Cale: Types are a bit like the nubs on lego bricks which provide structural integrity while suggesting how the bricks should fit together.
  • quicksilver: zip`ap`tail the aztec god of consecutive numbers

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the contributing information. Send stories to byorgey at gmail dot com. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/

Haskell Weekly News: March 09, 2008

Submitted by dons on Sun, 03/09/2008 - 3:29pm.

Welcome to issue 71 of HWN, a newsletter covering developments in the Haskell community.

Another busy week on the Haskell library front, with around 100 new and updated libraries and tools on Hackage.

Announcements

Google Summer of Code. Malcolm Wallace announced Google is running its 'Summer of Code' project again this year, and Haskell.org is once again going to apply to be a mentoring organisation. If you're interested in earning money to hack on Haskell, and helping out the community, take a look at the wiki.

Haskell in the browser. Dimitry Golubovsky announced that the YHC JavaScript backend is now in alpha testing, and is open to experimentation for those wanting to write Haskell directly for the browser

Hackage

New and updated libraries in the Hackage library database.
  • typalyze 0.1.1. Uploaded by Matthew Danish. typalyze: Analyzes Haskell source files for easy reference.

  • lax 0.0.0.1. Uploaded by Wolfgang Jeltsch. lax: Lax arrows.

  • truelevel 0.1.1. Uploaded by Barton Massey. truelevel: Audio file compressor-limiter.

  • WAVE 0.1. Uploaded by Barton Massey. WAVE: WAVE audio file IO library.

  • parseargs 0.1. Uploaded by Barton Massey. parseargs: Command-line argument parsing library for Haskell programs.

  • conjure 0.1. Uploaded by Gwern Branwen. conjure: A BitTorrent client.

  • Diff 0.1.1. Uploaded by Sterling Clover. Diff: O(ND) diff algorithm in haskell..

  • simseq 0.0. Uploaded by Gwern Branwen. simseq: Simulate sequencing with different models for priming and errors.

  • rbr 0.8.3. Uploaded by Gwern Branwen. rbr: Mask nucleotide (EST) sequences in Fasta format.

  • xml2x 0.2. Uploaded by Gwern Branwen. xml2x: Convert BLAST output in XML format to CSV or HTML.

  • estreps 0.1. Uploaded by Gwern Branwen. estreps: Repeats from ESTs.

  • clustertools 0.1. Uploaded by Gwern Branwen. clustertools: Tools for manipulating sequence clusters.

  • xsact 1.6. Uploaded by Gwern Branwen. xsact: Cluster EST sequences.

  • HsJudy 0.2. Uploaded by Gwern Branwen. HsJudy: Judy bindings, and some nice APIs.

  • prof2dot 0.3.1. Uploaded by Gregory Wright. prof2dot: Convert GHC profiles into GraphViz's dot format.

  • strict 0.3.2. Uploaded by Roman Leshchinskiy. strict: Strict data types and String IO..

  • Emping 0.4. Uploaded by Hans VanThiel. Emping: derives heuristic rules from nominal data.

  • GuiHaskell 0.1.1. Uploaded by Neil Mitchell. GuiHaskell: A graphical REPL and development environment for Haskell.

  • simpleargs 0.1. Uploaded by Ketil Malde. simpleargs: Provides a more flexible getArgs function with better error reporting..

  • parsec 3.0.0. Uploaded by Derek Elkins. parsec: Monadic parser combinators.

  • hetris 0.2. Uploaded by Gwern Branwen. hetris: Text Tetris.

  • hscurses 1.3. Uploaded by Gwern Branwen. hscurses: NCurses bindings for Haskell.

  • photoname 2.0. Uploaded by Dino Morelli. photoname: Rename JPEG photo files based on shoot date.

  • mage 1.1.0. Uploaded by Gwern Branwen. mage: Rogue-like.

  • infix 0.1.1. Uploaded by Gwern Branwen. infix: Infix expression re-parsing (for HsParser library).

  • bio 0.3.3. Uploaded by Gwern Branwen. bio: A bioinformatics library.

  • dephd 0.0. Uploaded by Gwern Branwen. dephd: Analyze 'phred' output (.phd files).

  • hybrid 2.0. Uploaded by Gwern Branwen. hybrid: A implementation of a type-checker for Lambda-H.

  • propgrid 0.1. Uploaded by Gwern Branwen. propgrid: GUI propertygrid.

  • gravatar 0.3. Uploaded by Donald Stewart. gravatar: Find the url of the gravatar associated with an email address..

  • himerge 0.17.9. Uploaded by Luis Araujo. himerge: Haskell Graphical User Interface for Emerge.

  • Takusen 0.8. Uploaded by Alistair Bayley. Takusen: Database library with left-fold interface, for PostgreSQL, Oracle, SQLite, ODBC..

  • irc 0.4.1. Uploaded by Trevor Elliott. irc: A small library for parsing IRC messages..

  • hexpat 0.2. Uploaded by Evan Martin. hexpat: wrapper for expat, the fast XML parser.

  • microbench 0.1. Uploaded by Evan Martin. microbench: Microbenchmark Haskell code.

  • hxt 7.5. Uploaded by Uwe Schmidt. hxt: A collection of tools for processing XML with Haskell..

  • hmatrix 0.2.1.0. Uploaded by Alberto Ruiz. hmatrix: Linear algebra and numerical computations.

  • binary-strict 0.3.1. Uploaded by Adam Langley. binary-strict: Binary deserialisation using strict ByteStrings.

  • category-extras 0.1. Uploaded by Dan Doel. category-extras: Various modules and constructs inspired by category theory..

  • pcap 0.4.3. Uploaded by Bryan OSullivan. pcap: A system-independent interface for user-level packet capture.

  • curl 1.3.1. Uploaded by Eric Mertens. curl: Haskell binding to libcurl.

  • fastcgi 3001.0.2. Uploaded by Bjorn Bringert. fastcgi: A Haskell library for writing FastCGI programs.

  • hslogger 1.0.5. Uploaded by John Goerzen. hslogger: Versatile logging framework.

  • HAppS-Server 0.9.2.1. Uploaded by David Himmelstrup. HAppS-Server: Web related tools and services..

  • HAppS-IxSet 0.9.2.1. Uploaded by David Himmelstrup. HAppS-IxSet: Added by DavidHimmelstrup, Fri Feb 29 07:27:13 PST 2008..

  • HAppS-State 0.9.2.1. Uploaded by David Himmelstrup. HAppS-State: Event-based distributed state..

  • HAppS-Data 0.9.2.1. Uploaded by David Himmelstrup. HAppS-Data: HAppS data manipulation libraries.

  • HAppS-Util 0.9.2.1. Uploaded by David Himmelstrup. HAppS-Util: Web framework.

  • sessions 2008.2.28. Uploaded by Matthew Sackman. sessions: Session Types for Haskell.

  • utf8-string 0.3. Uploaded by Eric Mertens. utf8-string: Support for reading and writing UTF8 Strings.

  • EdisonCore 1.2.1.2. Uploaded by Robert Dockins. EdisonCore: A library of efficent, purely-functional data structures (Core Implementations).

  • parameterized-data 0.1. Uploaded by Alfonso Acosta. parameterized-data: Parameterized data library implementing lightweight dependent types.

  • unix 2.3.0.0. Uploaded by Ross Paterson. unix: POSIX functionality.

  • hoogle 3.1. Uploaded by Neil Mitchell. hoogle: Haskell API Search.

  • ftshell 0.2. Uploaded by Janis Voigtlaender. ftshell: Shell interface to the FreeTheorems library..

  • free-theorems 0.2. Uploaded by Janis Voigtlaender. free-theorems: Automatic generation of free theorems..

  • special-functors 1.0. Uploaded by Henning Thielemann. special-functors: Control.Applicative, Data.Foldable, Data.Traversable (compatibility package).

  • type-level 0.1. Uploaded by Alfonso Acosta. type-level: Type-level programming library.

  • nymphaea 0.2. Uploaded by Gwern Branwen. nymphaea: An interactive GUI for manipulating L-systems.

  • hsc3 0.2. Uploaded by Rohan Drape. hsc3: Haskell SuperCollider.

  • hosc 0.2. Uploaded by Rohan Drape. hosc: Haskell Open Sound Control.

  • hslackbuilder 0.0.1. Uploaded by Andrea Rossato. hslackbuilder: HSlackBuilder automatically generates slackBuild scripts from a cabal package.

  • hsparklines 0.1.0. Uploaded by Hitesh Jasani. hsparklines: Sparklines for Haskell.

  • sat-micro-hs 0.1.1. Uploaded by Denis Bueno. sat-micro-hs: A minimal SAT solver.

  • interlude 0.1.1. Uploaded by Gwern Branwen. interlude: Replaces some Prelude functions for enhanced error reporting.

  • parse-dimacs 1.0.1. Uploaded by Denis Bueno. parse-dimacs: DIMACS CNF parser library.

  • bitset 0.5. Uploaded by Denis Bueno. bitset: A functional data structure for efficient membership testing..

  • special-functors 1.0. Uploaded by Henning Thielemann. special-functors: Control.Applicative, Data.Foldable, Data.Traversable (compatibility package).

  • condorcet 0.0.1. Uploaded by Gwern Branwen. condorcet: Library for Condorcet voting.

  • heap 0.2.3. Uploaded by Stephan Friedrichs. heap: Heaps in Haskell.

  • hspr-sh 0.3. Uploaded by Gwern Branwen. hspr-sh: Session handler for HSP.

  • hsp 0.2. Uploaded by Gwern Branwen. hsp: Haskell Server Pages is a library for writing dynamic server-side web pages..

  • trhsx 0.2.1. Uploaded by Gwern Branwen. trhsx: trhsx is the preprocessor for Harp and HSP.

  • haskell-src-exts 0.2.1. Uploaded by Gwern Branwen. haskell-src-exts: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer.

  • harp 0.2.1. Uploaded by Gwern Branwen. harp: HaRP allows pattern-matching with regular expressions.

  • HTF 0.1. Uploaded by Gwern Branwen. HTF: The Haskell Test Framework.

  • hsdip 0.1. Uploaded by Gwern Branwen. hsdip: hsdip - a Diplomacy parser/renderer.

  • mpdmate 0.1. Uploaded by Gwern Branwen. mpdmate: MPD/PowerMate executable.

  • powermate 0.1. Uploaded by Gwern Branwen. powermate: PowerMate bindings.

  • syb-with-class 0.4. Uploaded by David Himmelstrup. syb-with-class: Scrap Your Boilerplate With Class.

  • whim 0.1. Uploaded by Gwern Branwen. whim: A Haskell window manager.

  • memcached 0.1. Uploaded by Gwern Branwen. memcached: haskell bindings for memcached.

  • HaLeX 1.1. Uploaded by Gwern Branwen. HaLeX: HaLeX enables modelling, manipulation and animation of regular languages.

Jobs

Haskell for real-time control software. Tom Hawkins announced an opening for a Haskell job in real-time control software for vehicle and machinery applications

Haskell for bioinformatics. Ketil Malde announced an open position for a 3-year Ph.D. scolarship at IMR working on bioinformatics projects in Haskell

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • teamonkey: the Haskell solutions that people are posting are generally so much more concise and elegant than for any other language
  • Dan Zwell: I am fairly new to Haskell, and I didn't realize how easy concurrent code is until I wrote this
  • anonymous: The Haskall (sic) language is often uses by very intelligent programmers, it often allows to use lazy computations and iterations, but it has the advantage that its iterators behave better (than in Python), and during the generation of some items you can, when you want, refer and use the items already generated.
  • Corun: I don't understand, what's the advantage of hugs? The uni here says to use hugs, though, but I kept finding myself going in to ghci to get a useful error message
  • They say that if it compiles, it will run correctly. It?s nearly true! I?m amazed. ... Such buglessness will remove a huge source of indeterminism in production environments where the work of many teams is co-ordinated by schedules.
  • dolio: I've made a domain specific notation for describing puddings.
  • cschneid: [Haskell] changed the way I look at decomposition of problems in the more corporate languages (Java and C#). I use far fewer variables, and more side-effect free methods. It's made my code clearer, and easier to test.
  • nicodemus: I've written some Erlang and much more Haskell. My take so far is that Erlang is good for teaching you how to fish, Haskell is good for teaching you about procuring food (including fish).
  • paulzork: Haskell is to functional programming like C is to imperative languages? Sort of the latin root?

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org. Headlines are available as PDF.

To help create new editions of this newsletter, please see the contributing information. Send stories to dons at galois.com. The darcs repository is available at darcs get http://code.haskell.org/~dons/code/hwn/