Haskell Weekly News: September 5, 2009

Submitted by byorgey on Sat, 09/05/2009 - 2:56pm.
Haskell Weekly News: September 05, 2009

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

The Haskell Symposium was a great success, with many interesting talks and a good discussion on the future of Haskell. Watch this space for links to video from the Symposium as it becomes available!

Announcements

HStringTemplate 0.6.2. Sterling Clover announced some new features in the HStringTemplate library, including simple quasiquotation; proper Unicode support; creation of groups from hierarchies of directories; separators applied within iterated template application; depthwise chained iterated template application; generalized encoding functions; and more.

fclabels-0.4.0 - First class accessor labels. Sebastiaan Visser announced a new release of the fclabels package, straight from ICFP in Edinburgh. The package provides first-class labels which act as fully composable, bidirectional record fields, as well as support for automatically generating them from record types.

vty-4.0.0.1 released. Corey O'Connor announced release 4.0.0.1 of vty, a terminal UI library. This release brings a number of important fixes, features, and performance enhancements, including a completely rewritten output backend; efficient, "scanline rasterization" style output span generator; terminfo based display terminal implementation; improved Unicode support; 256 color support; and more.

haskell-src-exts-1.1.4. Niklas Broberg announced the release of haskell-src-exts-1.1.4, a package for Haskell source code manipulation. The experimental code in Language.Haskell.Annotated{.*} has changed quite a lot, although the stable portion of the package interface has not changed. Significantly, the package now includes an exact-printer which allows round-tripping between parsing and pretty-printing to be the identity.

Next BostonHaskell meeting: September 16th at MIT (32G-882). Ravi Nanavati announced the September meeting of the Boston Area Haskell Users' Group, to be held Wednesday, September 16th from 7pm - 9pm. As usual, it will be held in the MIT CSAIL Reading Room (32-G882, on the 8th floor of the Gates Tower of the MIT's Stata Center at 32 Vassar St in Cambridge, MA). The featured speaker will be Edward Kmett, who will be presenting the second part of his monoids and parsing presentation: "A Parallel Parsing Trifecta: Iteratees, Parsec, and Monoids".

lenses -- Simple Functional Lenses. Job Vranish announced the release of lenses, a simple but powerful implementation of function lenses (aka functional references/accessors). This library provides a convenient way to access and update the elements of a structure. It is very similar to Data.Accessors, but simpler, a bit more generic and has fewer dependencies.

Dutch HUG: meeting next week (September 11th) in Utrecht. Tom Lokhorst invited functional programmers in The Netherlands to the Dutch Haskell User Group, meeting Friday, September 11 at 19:00 in the Booth Hall of the Utrecht University Library. Thomas (noknok) will be talking about his system for doing propositional logic in Haskell. Pedro will give an introductory talk about generic programming, and Sean will talk about xformat, a library for extensible and type-safe formatting with scanf- and printf-like functions. There is also still space for short 5-minute lighting talk about something related to Haskell or functional programming; contact Tom if you're interested.

moe html combinator. Jinjing Wang announced the release of moe, a DSL for generating HTML.

jail-0.0.1 - Jailed IO monad. Sebastiaan Visser announced the first release of the jail package, a jailed IO monad that can restrict filesystem access for your code.

scion 0.1. Thomas Schilling announced the first release of Scion, a Haskell library that aims to implement those parts of a Haskell IDE which are independent of a particular front-end. Scion is based on the GHC API and Cabal. It provides both a Haskell API and a server for non-Haskell clients such as Emacs and Vim.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • benmachine: ho hum. I understand both your positions. but i don't understand mine, now :(
  • ksf: agda is actually a secret mindwar-weapon of the illuminati, who want to wrack your nerves with excessively big symbol sets requiring a keyboard with 10 modifier keys. just like APL.
  • Axman6: does anyone else think that C++ looks like a dead fish? (C++<)
  • Cale: The difference between Many Worlds and Copenhagen is a garbage collector ;)
  • apfelmus: Lambda Fu, form 72 - three way dragon zip: 'averages3 xs = zipWith3 avg xs (drop 1 xs) (drop 2 xs); where avg a b c = (a+b+c) / 3'

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.

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: August 26, 2009

Submitted by byorgey on Wed, 08/26/2009 - 4:57pm.
Haskell Weekly News: August 26, 2009

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

New releases of haddock, gitit, jhc, formlets, and lots of other libraries and tools; Edinburgh Hack Day, ICFP, and HacPDX coming up; exciting times! The Google Summer of Code has also wrapped up. See below for final progress reports from this summer's Haskell participants.

Announcements

GLUT 2.2.1.0. Sven Panne announced a new version of the GLUT package. The package is now autoconf-free, with API entries are resolved dynamically at runtime; support for sRGB framebuffers has been added; and support for context profiles has been added.

Potential Network SIG. Thomas DuBuisson announced the formation of a SIG to hammer out a design for a new Network API, seeing as the current API, a straight-forward Berkeley binding, doesn't seem to please anyone in a Haskell context.

epoll bindings 0.1.1. Toralf Wittner announced the release of epoll bindings 0.1.1. Epoll is an I/O event notification facility for Linux similar to poll but with good scaling characteristics. Currently the bindings are fairly low level and close to the C API, but there are plans to add some buffer or stream abstraction on top. Eventually, when GHC can make use of epoll/kqueue in addition to select, this library will not be needed anymore. Until then it might be useful for applications which monitor large numbers of file descriptors.

gitit 0.6.1. John MacFarlane announced the release of gitit 0.6.1, a wiki program that runs on happstack, the Haskell web application server stack, and stores pages and other content in a git or darcs filestore. The whole code base has been overhauled since the last release: gitit is now faster, more memory efficient, more modular, and more secure. It also has many new features, including page metadata and categories, atom feeds (sitewide and per-page), support for literate Haskell, a better configuration system, an improved caching system, a Haskell library exporting happstack wiki handlers, and a plugin system.

jhc 0.7.1. John Meacham announced the 0.7.1 release of the jhc optimizing Haskell compiler. There have been a lot of changes since the last public release. Some notable ones include the use of a general compiler cache by default rather than object files; reworked library support; an updated manual, with clearer build instructions; support for writing pure C libraries in Haskell; numerous library updates; smart progress meters; typechecking before compilation; and various bug fixes and cross compilation improvements.

rss2irc 0.3 released. Simon Michael announced the release of rss2irc version 0.3, an irc bot created by Don Stewart to watch rss feeds and announce new items on irc, now maintained by Simon. This version includes reliable http networking, irc flood protection, better error handling & reporting, extensive debugging output, Atom support, more useful defaults, precise control of irc output, and is now installable on OSX. Feedback and patches welcome.

formlets 0.6. Chris Eidhof announced that the formlets team has released a new version of formlets, a library to build type-safe, composable web forms. Most notably, Mightybyte and Chris worked on the massInput functionality, which is now ready for use!

graphtype -- A simple tool to illustrate dependencies between Haskell types. Max Desyatov announced the release of graphtype, a tool for visualising type declarations in Haskell source files. It produces .dot-files for subsequent processing with graphviz.

OAuth library in haskell. Diego Souza announced the release of hoauth, a library which helps you to deal with the oauth protocol. Currently it supports only consumer side applications, but there are plans to add service providers support in near future.

ByteString Nums. Jason Dusek announced bytestring-nums, a simple package for relatively careless parsing of numbers from ByteStrings. It works to parse out integer strings, floating point strings and hex strings.

haskell-src-exts-1.1.3. Niklas Broberg announced the release of haskell-src-exts-1.1.3, a package for Haskell source code manipulation. It handles (almost) all syntactic extensions to the Haskell 98 standard implemented by GHC, and the parsing can be parametrised on what extensions to recognise. haskell-src-exts-1.1.3 is a highly experimental release, which does not change the current stable part of haskell-src-exts. But it includes a whole new set of modules implementing a new and more accurate syntax tree where all nodes are adorned with annotations. Together with this comes a parser that retains exact source information, stored in the aforementioned annotations. Help in testing and bug reporting is welcome and appreciated!

ministg-0.2, an interpreter for STG operational semantics. Bernie Pope announced the first public release of Ministg, an interpreter for a high-level, small-step, operational semantics for the STG machine, the abstract machine at the core of GHC. One of the main features of Ministg is the ability to record a trace of the execution steps as a sequence of HTML files; here is an example trace.

OpenCLRaw 1.0.1000. Jeff Heard announced the release of OpenCLRaw, a raw binding to the OpenCL, a platform for single-host heterogeneous, data-parallel computing. He has future plans to create higher-level bindings on top of these raw ones.

compose-trans-0.0. Miguel Mitrofanov announced compose-trans, a small library intended to make monad transformers composable.

Haddock version 2.5.0. David Waern announced the release of Haddock 2.5.0. This version reverts to the old multi-page index for large packages, shows GADT records in the generated documentation, adds a --use-unicode flag for displaying prettier versions of common symbols, and many other changes.

Edinburgh Meetup (Sat 29 Aug) and Hack Day (Sun 30 Aug). Eric Kow sent a reminder that we will be having a Hack Day in Edinburgh on Sunday 30 August at the ICFP venue. There will also be a meetup the day before, 09:30 Saturday 29 August just outside the ICFP venue; we'll have a quick wander and hopefully find some nice places to sit and chat, whip out the occasional laptop and fling a lambda or not being careful not to injure the passers-by.

Cleaner networking API - network-fancy. Taru Karttunen announced network-fancy, which offers a cleaner API to networking facilities in Haskell. It supports high-level operations on tcp, udp and unix sockets. Feedback on the API is welcome!

GLFW-0.4.1. Paul L announced a new version of GLFW, 0.4.1. Notable changes include a workaround for a FFI bug that affects GHC < 6.10 on 64-bit machines, a fix for the compilation problem on OS X for GHC > 6.10.1, a compatibility fix to work with both OpenGL 2.3.0.0 and older versions, choice of a "dynamic" flag to link with dynamic GLFW C library instead, and a number of other fixes, cleanups and improvements.

HacPDX, A Hackathon in Portland. Thomas DuBuisson announced HacPDX, an opportunity for Portland Haskell hackers to join together in building and improving libraries and tools. If you've never been, hackathons are typically not only a good opportunity for experienced devs to work together but also a great way for newcomers to get involved in the community. HacPDX will take place Friday September 25 to Sunday September 27 at Portland State University; see the email for more specific details.

Hack on the Delve core, with Delve and Haskell. spoon announced Delve, a new programming language intended to bring the benefits of static type checking and functional programming to object-oriented design and development, currently being implemented in Haskell. Contributors welcome!

cabal-query 0.1. Max Desyatov announced the release of cabal-query, a package to assist in finding a set of Cabal packages which satisfy your needs.

EnumMap-0.0.1. John Van Enk announced the first version of EnumMap, a generalization of IntMap that constrains the key to Enum rather than forcing it to be Int.

Google Summer of Code

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

Haddock improvements! Isaac Dupree has wrapped up his project, with patches waiting to be merged back into both Haddock and GHC. His final post contains a detailed description of the work he did; looks like we'll have much better cross-package documentation support in Haddock soon!

EclipseFP. Thomas Ten Cate began adding a notion of build targets to EclipseFP, so that projects can be created without .cabal files. He has wrapped up the project for now, and although he isn't fully happy with the results that he achieved, he was able to make useful contributions which hopefully others can continue to build on.

Improving the Haskell space profiling experience. Gergely Patai's project is done: he uploaded hp2any, a set of realtime space profiling tools, to Hackage. He also created a haskellwiki page describing it and its use.

haskell-src-exts -> haskell-src. Niklas Broberg has been working on a complete revamp of the AST, lexer and parser to allow for exact source info to be kept in the tree, which in turn will allow exact printing of the code as it was read.

darcs. Petr Rockai posted a final report where he described his accomplishments: the hashed-storage library for reading and writing filesystem trees in hash-based formats; darcs whatsnew integration with hashed-storage; progress on a new and improved version of hashed-storage, and a branch of darcs depending on it; and darcs-benchmark, a standalone package for benchmarking darcs.

Discussion

Unification and matching in Abelian groups. John D. Ramsdell shared some code implementing unification and matching in Abelian groups.

Grouping and SIMD in parallel Haskell (using Nested Data Parallel Haskell ideas in legacy code). Zefirov Sergey posted some code showing how to translate Parallel Haskell programs (expressed with par and pseq) into Nested Data Parallel Haskell.

Request for Comments - hscurrency 0.0.1. Max Cantor requested feedback on some simple tools to do safe calculations on different currencies.

DDC compiler and effects; better than Haskell? (was Re: unsafeDestructiveAssign?). Peter Verswyvelen began a long discussion about the DDC compiler and its effect system, and the relationship to Haskell and monads.

Jobs

Credit Suisse is hiring. Ganesh Sittampalam announced that the Global Modelling and Analytics Group (GMAG) at Credit Suisse is once again looking to hire functional programmers; see his email for more information.

Jane Street is Hiring (as if you didn't already know). Yaron Minsky sent out a reminder that Jane Street is looking to hire functional programmers; see his email for more details. He also mentioned that he will be at parts of ICFP, CUFP and DEFUN this year, so if you're interested, come and talk to him there.

Galois is Hiring. Don Stewart announced that Galois is continuing to hire, with multiple positions for talented functional programmers (with both junior and senior positions). They will be at ICFP and related events; see Don or Lee Pike.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • bos: You don't get accurate answers from Perl. It just lies to you to keep you happy.
  • ray: haskell' will come out in 2020 and be h98 with hierarchical modules
  • ray: enlarge your kleisli arrow, please the category ladies
  • quicksilver: making the compiler writer's job painful is one of the main duties of a language designer.
  • gwern: as a plugin, yes, but that's like being so out of shape that a guy in a wheelchair can outrace you - yes, he needs a tool, but you should still be ashamed of yourself
  • Cale's Lemma: Any sufficiently long string of operator symbols looks like a fish.
  • randomwords: How "complete" does an application before it's OK to upload to hackage? <ray> there are no standards <randomwords> lawless wasteland. Got it.
  • ndm: I was browsing through the Yhc standard libraries, as one does on the weekend, and was drawn to Yhc's sort function.
  • michaelfeathers: I did a parody post to Haskell Cafe last year where I had some code that was calling (nub . nub) zip12 and asked if there was a zip13 and no one called it out as a joke.

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.

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: August 8, 2009

Submitted by byorgey on Sat, 08/08/2009 - 10:00am.
Haskell Weekly News: August 08, 2009

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

Apologies for the long hiatus, mostly due to organizing Hac phi (which was a great success!). And I'm now going on vacation for a couple weeks and may have limited Internet access, so don't hold your breath for an issue of the HWN next week either... anyway, a ton of interesting stuff has happened over the past three weeks (of course), including a bunch of discussion on the Haskell-prime mailing list, a number of package releases, Haskell Platform discussion, and more.

Announcements

bindings-posix 0.0.2. Mauricio announced bindings-posix, a low level binding to Posix. It makes use of facilities and design from the bindings-common package to map the standard Posix library.

bindings-common 0.2.1. Mauricio announced a new release of bindings-common, which offers basic code that provides a common design standard and common utilities for writing modules providing low-level foreign library bindings. The major new feature of this release is the availability of hsc2hs custom macros, and a corresponding reduction in code size.

Dyre - Dynamic Program Recompilation (Xmonad-style configuration). Will Donnelly announced the release of dyre, a library for xmonad-style program recompilation. It is based in spirit after the HConf library written by the Yi project, but with a focus on simple integration, state persistence as an optional feature, and Windows support.

nntp 0.0.2. Maciej Piechotka announced the release of nntp, a library to connect to nntp (i.e. mainly USENET) servers. This version represents a complete rewrite from version 0.0.1, including a new NntpT monad and basic support for XHDR.

GLUT 2.2.0.0. Sven Panne announced a new version of the GLUT package, which depends on the new OpenGL, StateVar and Tensor packages, but is otherwise unchanged except for a new demo.

OpenGL 2.3.0.0. Sven Panne announced a new version of the OpenGL package, which is now only a convenience layer upon the OpenGLRaw and GLURaw packages, written in in pure Haskell without the FFI. The latter two packages load the native libraries dynamically and do not rely on any C headers, making it possible to build all OpenGL-related packages even on machines without any installed native OpenGL support.

yices 0.0.0.1. Ki Yung Ahn announced yices, a Haskell interface to the Yices SMT solver.

ALUT 2.2.0.0. Sven Panne announced a new version of the ALUT package, which now depends on the highly portable StateVar package instead of OpenGL.

OpenAL 1.4.0.0. Sven Panne announced a new version of the OpenAL package, which now depends on the highly portable StateVar, ObjectName and Tensor packages, instead of OpenGL.

Tensor 1.0.0.1. Sven Panne announced the Tensor package, yet another spin-off of the OpenGL package, containing a few tensor data types and their instances for some basic type classes.

darcs 2.3.0. Petr Rockai announced a new stable release of darcs, version 2.3.0. This version includes a number of improvements and bugfixes over the previous stable release, 2.2. Moreover, work has been done to improve performance of "darcs whatsnew" for large repositories.

uacpid-0.0.4. Dino Morelli announced the release of uacpid, a daemon designed to be run in userspace that will monitor the local system's acpid socket for hardware events. These events can then be acted upon by handlers with access to the user's environment.

Korean translation of "Programming in Haskell". Ki Yung Ahn announced a new non-English book on Haskell, published on July 24.

TABI 0.1: a typeful tagged cross-language calling convention. Bulat Ziganshin announced a preliminary release of TABI, a library providing a typeful, tagged cross-language calling convention.

Typeful/Text/HTMLs (for AngloHaskell/for scrap?). Jon Fairbairn announced an HTML library which guarantees standards compliance via types, even down to the nesting restrictions.

yst 0.2.1. John MacFarlane announced the release of yst, which generates static websites from YAML or CSV data files and StringTemplates. This approach combines the speed, security, and ease of deployment of a static website with the flexibility and maintainability of a dynamic site that separates presentation and data.

The Haskell Platform 2009.2.0.2. Don Stewart announced the third release (2009.2.0.2) of the Haskell Platform, a single, standard Haskell distribution for everyone.

atom 0.1.0. Tom Hawkins announced the 0.1.0 release of Atom, a Haskell DSL for hard realtime applications. This release includes support for assertions and functional coverage to aid simulation and testing.

tkhs-0.1.* Presentation Utility. Yusaku Hashimoto announced the release of tkhs-0.1.*, a simple presentation utility. If you are thinking PowerPoint is overkill for your presentation, Tkhs may fit the purpose.

RFC: Unicode support in Alex. Jean-Philippe Bernardy requested feedback on his modifications to the Alex lexer generator to support Unicode. The prototype is available on github.

The Monad.Reader - Issue 14. Wouter Swierstra announced Issue 14 of The Monad.Reader. This issue contains three articles "Fun with Morse Code" by Heinrich Apfelmus, "Hieroglyph 2: Purely Functional Information Graphics Revisited" by Jefferson Heard, and "Lloyd Allison's Corecursive Queues: Why Continuations Matter" by Leon P Smith.

TBC: Testing By Convention. Peter Gammie announced the release of TBC, a test harness which has features complementary to existing harnesses: it attempts to compile and run all tests, even if some do not compile or run; and tests following conventions require a lot less boilerplate.

Elerea version 1.x.x. Patai Gergely announced an update of his FRP library, Elerea, along with some updates to the accompanying example programs. The interface was changed into a monadic-applicative hybrid that distinguishes stateful and stateless combinators for safety reasons: most importantly, the latcher was removed due to various practical issues, and it is replaced by much better behaved stateless higher-order constructs. The library is now capable of handling arbitrary higher-order signals.

haskell-src-exts-1.1.0. Niklas Broberg announced the release of haskell-src-exts-1.1.0, bringing you tuple sections, comments, and a few bug fixes.

graphviz-2999.1.0.2. Ivan Lazar Miljenovic announced a bug fix release of the graphviz package, which fixes a bug spotted by Srihari Ramanathan where the Dot representation of Color values were double-quoted when they shouldn't have been.

Leksah 0.6. Hamish Mackenzie announced the 0.6 release of Leksah, a Haskell IDE. New features include integrated GHCi based debugging, multi-window support, improved layout control, regular expression find and replace, ability to grep files in the current package, and improved Mac OS X integration.

Semantic Web. Vasili I. Galchin announced the cabalisation of Swish-0.2.1 (Semantic Web Inference uSing Haskell), a semantic web toolkit designed and implemented by Graham Klyne. The package now builds on GHC 6.8.2, with more improvements planned.

graphviz-2999.1.0.1. Ivan Lazar Miljenovic announced a bug-fix release to fix the problems with Either-based Attributes in the previous release (2999.0.0.0), spotted mainly by Zsolt Dollenstein.

cautious-file 0.1.1: Ways to write a file cautiously, to avoid data loss. Robin Green announced the first public release of cautious-file, which provides a writeFile function that has several advantages over Prelude.writeFile: it uses the recommended way of writing a file on POSIX, so as not to expose the user to the risk of data loss after a crash or power failure; and it uses a temporary, randomly-named file for writing and only overwrites an existing file once the write is complete.

Google Summer of Code

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

Haddock improvements! Isaac Dupree has cleaned up most of the loose edges on cross-package documentation, and has begun moving comment parsing from GHC to Haddock.

EclipseFP. Thomas Ten Cate is finally happy with his refactorings of the Scion client, and has done quite a bit of cleanup of compilation warnings and unit tests.

Improving the Haskell space profiling experience. Gergely Patai posted about segfaults with gtk2hs, and using Cairo instead of OpenGL for rendering, and has some nice screenshots of the profiling client.

haskell-src-exts -> haskell-src. Niklas Broberg has started working on comment support.

Fast darcs. Petr Rockai has made much progress, released darcs 2.3.0, and posted a discussion on patch formats.

Discussion

Adding binary to the Haskell Platform. Don Stewart began a discussion thread on the possibility of adding the binary package to the Haskell Platform.

Thinking about what's missing in our library coverage. Don Stewart asked how to identify packages that ought to be added to the Haskell Platform, and areas of functionality that are missing.

Proposal: TypeDirectedNameResolution. Johannes Waldmann began a discussion on a proposed language extension, type-directed name resolution.

Implicit concatenation in list comprehensions. Max Bolingbroke started a discussion on a proposed syntax extension to allow multiple expressions on the left-hand side of a list comprehension, resulting in implicit concatenation.

Jobs

Postdoc and Ph.D. position on 3gERP-project at DIKU. Fritz Henglein announced the availability of a postdoc position and a Ph.D. scholarship at the Department of Computer Science, University of Copenhagen (DIKU) within 3d generation enterprise resource planning systems (3gERP), a collaborative strategic research project with partners at DIKU (computer science), Copenhagen Business School (CBS, information systems) and Microsoft Development Center Copenhagen (MDCC, enterprise systems).

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • dons: i heard there were webservers written in languages other than haskell
  • yrlnry2: #haskell is the most functional channel I've ever seen.
  • JonFairbairn: And one of the tests failed because Bolivia is now the Plurinational State of Bolivia, so I've add a patch for that. I've seen politics get in the way of programming, but I've never had a bug caused by /international/ politics before.
  • Adamant: ah, monads. the pons asinorum of Haskell.
  • QP: i drink i'm two thunk for this... i'm seeing (Double, Double)
  • benmachine: wait why am I giving advice I don't know anything
  • jfredett: <shapr> @yow ! <jfredett> YOW! I seem to SEE a SHAPR asking for FUNNY ZIPPY QUOTES, TOO bad I left them in my OTHER PANTS
  • Berengal: Anyone doubting the immutable value philosophy needs to try vacuum
  • badsheepy: [in response to a spammer] my word, i feel immediately compelled to medicate myself.
  • monochrom: Haskell has solved programming. All that can be said programming is already said in tutorials and the haskell wiki. That is why we drift to meta topics.
  • kalven: <yottis> i thought there were like 10 haskell jobs in the world, all in the "let's replace excel sheets with something else" industry <kalven> there are at least 20.
  • BMeph: okmij.net, conal.net, comonad.reader, and sigfpe.blogspot.com; the four horsemen of the Haskell Apocalypse.
  • jaredj: [on parsec] i thought i got it but i need to 'try' again
  • gwern: *ponders Haskell nerdcore: 'I'm all about exact math, yo; I eat CReal for breakfast'*
  • Baughn: remember that comments take up space in compiled Haskell programs, and furthermore they take up processing time if execution passes through them. For these reasons, keep comments to a minimum, and never put comments inside of optimized Haskell code. Ideally all of your comments will lie outside of the path of execution.
  • gbacon: okay, I just tried to type Monday, but it came out Monady. Assimilation complete.
  • BenLippmeier: Are Haskell and OCaml destined to be The Velvet Underground of programming languages, where hardly anyone has heard them, but everyone who does forms a band?

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.

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: Julyl 18, 2009

Submitted by byorgey on Sat, 07/18/2009 - 9:23am.
Haskell Weekly News: July 18, 2009

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

Hac phi is next weekend! With almost 30 people already registered, it looks like we're going to have a fantastic time hacking in Philadelphia. It's still not too late to register!

Announcements

GHC 6.10.4. Ian Lynagh announced a new patchlevel release of GHC, 6.10.4. This version has very few changes over 6.10.3, but fixes some bugs that could be critical for a few users. See the release notes for details.

shelltestrunner 0.6 released. Simon Michael announced the first release of shelltestrunner, a small tool for testing any command-line program by running it through "shell" tests defined with a simple file format.

generator 0.5.1. Yair Chuchem announced the release of the generator package, which implements an alternative list monad transformer, a list class, and related functions.

GLURaw 1.0.0.0. Sven Panne announced a new GLURaw package, containing full support for all GLU functionality and similar in spirit to the OpenGLRaw package: it is a 1:1 mapping of the C interface, no libraries or headers are needed at build time, and the GLU API entries are resolved dynamically at runtime.

OpenGLRaw 1.0.1.0. Sven Panne announced a new version of the OpenGLRaw package, which adds support for a number of OpenGL extensions.

ObjectName 1.0.0.0. Sven Panne announced a (tiny) new package, ObjectName, which contains a class corresponding to the general notion of explicitly handled identifiers for API objects, e.g. a texture object name in OpenGL or a buffer object name in OpenAL.

StateVar 1.0.0.0. Sven Panne announced the StateVar package, which further modularizes the OpenGL/OpenAL packages. It implements state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state.

data-ordlist-0.0.1 and NumberSieves-0.0. Leon Smith announced the release of two new packages: Data.OrdList offers a convenient way for efficiently dealing with lists that you happen to know are ordered, and includes operations such as union, merge, exclusive union, intersection, and difference. NumberSieves includes the Sieve of O'Neill, from "The Geniune Sieve of Eratosthenes" by Melissa O'Neill, which offers an incremental primality sieve based on priority queues. Also included are two array-based generalizations of the Sieve of Eratosthenes: one for factoring a large quantity of small numbers, and another for calculating the phi function for a large quantity of small numbers.

graphviz-2999.0.0.0. Ivan Lazar Miljenovic announced a new release of the graphviz package for Haskell, which provides bindings to the GraphViz suite of tools. The biggest and most important change in this release is that all 152 attributes utilised/supported by GraphViz are now specified and supported.

uncommon IMO problem - toilet management. Henning Thielemann announced a Haskell package for managing toilet use at the International Mathematical Olympiad.

darcs 2.3 beta 4. Petr Rockai announced another darcs 2.3 beta release, which features better Windows support. If you're on Windows, you should be able to install it with 'cabal install darcs-beta' -- give it a try!

Google Summer of Code

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

space profiling. Gergely Patai has been working on a heap profile manager.

fast darcs. Petr Rockai put out another another darcs 2.3 beta release, and made a bunch of other progress including getting darcs up and running on win32, working on hashed-storage, and optimizing 'darcs show contents'.

Discussion

is closing a class this easy? Conor McBride asked for feedback on some code intended to effectively create a closed type class.

laziness blowup exercise. Thomas Hartman challenged readers to squash a memory leak.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • Berengal: For me, understanding the basics/reasoning behind haskell's type system was just a minute meditating on the phrase "what's the square root of hello?"
  • bitwize: The oleg is to functional studliness as the farad is to capacitance: a hopelessly large base unit.
  • maartenm: euclidate: to promote a conjecture to an axiom just for the sake of simplicity
  • RobertGreaye: Some suggest the original English remained in Britain when the North American colonies were founded; others claim it was brought to the Americas by the British settlers, leaving a pale imitation back in Britain. The truth is much stranger: the original English was actually smuggled out of Britain to the West Indies in a wardrobe belonging to General Sir Ralph Abercromby, where it ended up on the island of Trinidad after Sir Ralph took possession of that territory in the name of the British Crown.

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.

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 12, 2009

Submitted by byorgey on Sun, 07/12/2009 - 10:08am.
Haskell Weekly News: July 12, 2009

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

Announcements

Announcing the new Haskell Prime process, and Haskell 2010. Simon Marlow announced the new and improved Haskell Prime process, and a list of proposals which are currently under consideration to be accepted into the next (2010) revision of the standard.

AspectAG 0.1.1. Marcos Viera announced the release of AspectAG, a library of strongly typed Attribute Grammars implemented using type-level programming.

Colour tutorial. Russell O'Connor announced a tutorial wiki page for the colour library.

Haskell Hack Day, Edinburgh, 30 August 2009. Eric Kow announced a Haskell Hack Day to be held in Edinburgh, on Sunday 30 August, before ICFP. The Hack Day will be held at the ICFP conference venue, the Royal College of Physicians.

sendfile-0.3. Matthew Elder announced the release of sendfile-0.3, which includes a more general interface, updated documentation, and more.

Gtk2hsGenerics. Michael Dever announced the release of Gtk2hsGenerics, a package which contains utility functions for extracting from and adding to stores.

darcs 2.3 beta 2. Petr Rockai announced that darcs 2.3 beta 2 is available for testing. It can be installed using the darcs-beta package on Hackage (be sure to 'cabal update' first). The new beta release adds index upgrade functionality to hashed-storage, and now uses an architecture-independent index format.

hsparql, a SPARQL query generator/DSL and client. Jeff Wheeler announced the first version of hsparql, which makes it easy to query SPARQL-compliant servers using a relatively intuitive DSL and very simple client. SPARQL is a SQL-ish query language for stores of RDF data.

Hayoo! beta 0.4. Timo B. announced the next beta version 0.4 of Hayoo!, the Haskell API search engine with find-as-you-type and suggestions. This release includes some major changes to the web interface, including the ability to display the full description of a function, and some example queries featured on the start page, as well as an updated search index.

texmath 0.1.0.1 - conversion of LaTeX math to MathML. John MacFarlane announced an early release of texmath, a Haskell library for converting LaTeX math formulas to MathML. The package includes a standalone test program, testTeXMathML, and a CGI script, texmath-cgi, that can be used in web apps. You can see demos of the script here and here.

BostonHaskell: Next meeting - July 16th at MIT CSAIL Reading Room (32-G882). Ravi Nanavati announced the July meeting of the Boston Area Haskell Users' Group, to be held Thursday, July 16th from 6:30pm - 8:30pm in the MIT CSAIL Reading Room. Scheduled talks include "An Introduction to GHC Hacking" by Alec Heller, and "Haskell on the iPhone" by Ryan Trinkle. There are still openings for Lightning Talks (5-minute talk, 2-minute Q&A). See the announcement for more details.

AC-Vector, AC-Colour and AC-EasyRaster-GTK. Andrew Coppin announced the release of three packages: AC-Vector, which provides unboxed vectors of Doubles with arithmetic, dot product and cross product, and a few other useful items; AC-Colour, which provides two simple RGB color types, optimized for simplicity and speed; and AC-EasyRaster-GTK, a layer over Gtk2hs which provides easy pixel-twiddling functionality.

Google Summer of Code

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

Haddock improvements. Isaac Dupree has had a good deal of success getting cross-package documentation to work, with a few remaining loose ends.

space profiling. Gergely Patai's profile graphing application is now capable of connecting to a profile relay server that can broadcast the heap profile of its associated process on the fly, so it is now possible to attach an observer to a program that was started earlier. He now plans to shift to working on a history manager.

fast darcs. Petr Rockai has produced another darcs 2.3 beta release, and has done more work on designing an efficient storage system.

Discussion

Leaner Haskell.org frontpage. haskell proposed a new design for the haskell.org front page. Bikeshedding ensues, news at 11.

exercise - a completely lazy sorting algorithm. Petr Pudlak asked whether it is possible to write a lazy sorting algorithm which allows access to the kth item of the sorted output in linear time, for all k. An interesting discussion and mind-expanding code followed.

Implementing Las Vegas algorithms in Haskell. Matthias Görgens began a discussion on implementing Las Vegas algorithms, which use a source of randomness but have results which are still deterministic. What should the type of such functions be? Is it OK to use unsafePerformIO in their definition?

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • SimonPJ: [re: class constraints on data declarations] In GHC's source code these contexts are consistently called stupid_theta.
  • JN: this tutorial just introduced _|_ and called it bottom. I assume that's because it looks like an ass?
  • uman: so you can pass functions around as objects... this sounds like JavaScript
  • Twey: Mr. Wing, sir, if you are listening: you have the I.Q. of a semolina pudding. And your homepage is full of <font> tags. I'm not sure which is the greater insult, but at least one is objectively true.
  • jmcarthur: #haskell: Overwhelmingly helpful.
  • lilac: class Monad m where / return and Kleisli compose / must form a monoid <lilac> that's my new monad tutorial haiku <jmcarthur> i think that is the best monad tutorial i have ever read
  • dcoutts: make sure happy is on your path and it'll all be ok
  • ski: my answer to that is : don't deduce, denote!
  • roco: guys i have problem, does anybody know programming ?
  • dhjdhj: All new features added to C++ are intended to fix previously new features added to C++

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.

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 4, 2009

Submitted by byorgey on Sat, 07/04/2009 - 9:52am.
Haskell Weekly News: July 04, 2009

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

Announcements

HLint 1.6. Neil Mitchell announced the release of HLint 1.6, a tool for automatically suggesting improvements to Haskell code.

Haskell Implementers Workshop: accepted talks. Simon Marlow announced that the list of talks at the Haskell Implementers Workshop 2009 has now been posted.

bloxorz clone. Patai Gergely announced a Haskell clone of the game "bloxorz", written by Viktor Devecseri.

Fun with type functions. Simon Peyton-Jones announced that he, Ken Shan, and Oleg have finished Version 2 of their paper "Fun with Type Functions", which gives a programmer's tour of what type functions are and how they are useful. If you have a moment to look at, and wanted to help them improve it, leave comments on the linked wiki page.

package Boolean: Generalized booleans. Conal Elliott announced Boolean, a new package for generalized booleans, which provides type classes with generalizations of Boolean values and operations, if-then-else, Eq and Ord.

TernaryTrees-0.1.1.1 - An efficient ternary tree implementation of Sets and Maps. Alex Mason announced the release of TernaryTrees, a package that extends Data.Set ad Data.Map with some ternary tree structures, one of the more efficient ways of storing strings in a set.

6.12.1 planning. Simon Marlow announced plans for a release of GHC 6.12.1, sometime around September. If you have the time and inclination to help with any of the listed features, please get involved!

regular-0.1. José Pedro Magalhães announced the release of the regular library. Many generic programs require information about the recursive positions of a data type, such as generic fold, generic rewriting, and the Zipper data structure. Regular provides a fixed point view on data which allows these definitions for regular data types. It also serves as the basis for a generic rewriting library.

Google Summer of Code

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

Haddock improvements. Isaac Dupree has made it easier to generate Haddock documentation for non-exported functions, posted an overview of the issues involved in getting proper cross-package documentation working, and his current plan.

EclipseFP. Thomas Ten Cate has done a lot of work on EclipseFP, including some cosmetic updates and getting error reporting to work better.

space profiling. Gergely Patai is working on a network protocol for his profiling grapher tool, so that other tools can monitor the profiling information.

haskell-src-exts. Niklas Broberg has released haskell-src-exts version 1.0.0!

fast darcs. Petr Rockai has completed quite a bit of work on darcs, including a beta release of darcs 2.3.

Discussion

Monoid wants a (++) equivalent. Bryan O'Sullivan suggested adding a more concise operator to the Monoid class for 'mappend', leading to a long, bike-shed-ish (but hopefully still useful) discussion.

Reflections on the ICFP 2009 programming contest. Justin Bailey began a discussion on results and experiences from the ICFP 2009 programming contest.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • KF8NH: all monads are functors, but for Hysterical Raisins not all Monads are Functors.
  • lilac: lambda actually is just the greek letter l. it stands for lilac.
  • lilac: before mauke we all implemented map with a fold every time we needed it.
  • luqui: I'll just stick to my religion: I have a personal relationship with our lord and savior, the untyped lambda calculus.
  • copumpkin: I think I was implemented in haskell. I mean, my parents never used seq, ever.
  • Benjamin Russell: Haskell. "Avoid success at all costs." Made with dinosaur technology.

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.

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: June 29, 2009

Submitted by byorgey on Mon, 06/29/2009 - 2:06pm.
Haskell Weekly News: June 29, 2009

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

A bit late this week since over the weekend I was trying to get some unruly satellites to behave (with moderate success). Anyway, some fun stuff this week: Haskell on the iPhone; new libraries for 3D animation, web development, session types; new releases of haskell-src-exts and darcs; and more. Also, if it seems that there haven't been many quotes lately, it's because people haven't been @remembering very many in #haskell. I cannot telepathically sense (via the Haskell-force, hereafter known as the "Horce") when someone says something funny.

Announcements

Haskell Symposium call for participation. Stephanie Weirich announced that registration is now open for the ACM SIGPLAN Haskell Symposium 2009, to be held on 3 September 2009 in Edinburgh, Scotland (co-located with ICFP). The purpose of the Haskell Symposium is to discuss experiences with Haskell and future developments for the language. The scope of the symposium includes all aspects of the design, semantics, theory, application, implementation, and teaching of Haskell.

jhc 0.6.1. John Meacham announced the release of jhc 0.6.1, featuring a a much simplified cross-compilation mechanism.

X Haskell Bindings 0.3. Antoine Latter announced the 0.3.* series release of the X Haskell Bindings. This release, like the prior 0.2.* series focuses on making the API prettier.

happstack-0.3.2. Matthew Elder announced the release of happstack-0.3.2, with many changes, updates, and bug fixes.

sendfile-0.1. Matthew Elder announced the release of sendfile, a library which exposes zero-copy sendfile functionality in a portable way. Right now it natively supports linux 2.6+ (maybe older too) and windows 2000+; on other platforms it will fall back seamlessly to a portable haskell implementation.

Reusable Corecursive Queues via Continuations. Leon Smith requested feedback on a draft of an upcoming article in Monad.Reader issue 14, "Lloyd Allison's Corecursive Queues: Why Continuations Matter", describing the implementation of the control-monad-queue package.

Haskell on the iPhone. Ryan Trinkle announced that his company, iPwn Studios Inc., is currently preparing to release an open source patch to GHC that allows it to output binaries for iPhone OS. The patch will be released under a BSD license as soon as possible and hopefully integrated into the GHC main-line in the near future.

Program to set the GNOME desktop background picture randomly. Colin Paul Adams announced gnome-desktop, a library which periodically picks a random picture from $HOME/Pictures, and sets it as the GNOME desktop background.

loli: a minimal web dev DSL. Jinjing Wang announced the release of loli, a web development DSL built on top of hack. It allows you to easily define routes, build your custom template backends through a simple Template interface, and integrate with other hack middleware.

Cal3D animation library. Gregory D. Weber announced the Cal3D for Haskell project, which provides a partial binding to the C++ Cal3D animation library, a platform- and graphics-API-independent C++ library for skeletal-based character animation. There are three packages available on hackage: cal3d-0.1, a Haskell binding to the Cal3D library itself; as well as cal3d-opengl-0.1 and cal3d-examples-0.1.

A Reader Monad Tutorial. Henry Laxen announced a nice Reader monad tutorial.

full-sessions: yet another implementation of session types. Keigo Imai announced the pre-release of full-sessions, yet another implementation of session types in Haskell. Session types are used to statically check the safe and consistent use of communication channels according to protocols. A notable advantage of this implementation is that it requires almost no type annotation or term annotations. and at the same time provides full functionality of session types including channel-generation and channel-passing.

darcs 2.3 beta 1. Petr Rockai announced the immediate availability of a first beta release of darcs 2.3. There are a number of improvements and bugfixes over the last stable release, 2.2 (see the announcement for a full list). Moreover, work has been done on performance of "darcs whatsnew" for large repositories. This has also introduced a slight risk of regressions, but please note that all of the disruptive changes are in read-only code paths: the new code will never touch your repository, so it is unable to cause permanent harm. The worst that could happen is that you get no or bad diff from "darcs whatsnew". Please help test it (cabal install darcs-beta)!

New release of ZeroTH. Robin Green announced a new release (2009.6.23.3) of ZeroTH, a tool for preprocessing Haskell code to run splices and remove Template Haskell dependencies. Major changes include support for more Haskell code via haskell-src-exts 1.0.0, better error messages, and librification.

Emping-0.6 and Tests/Examples. Hans van Thiel announced version 0.6 of Emping, a (prototype) interactive tool for the discovery and analysis of (universal, not statistical) predictive rules in tables of nominal data.

haskell-src-exts-1.0.0. Niklas Broberg announced the first stable release of the haskell-src-exts package, version 1.0.0! haskell-src-exts is a package for Haskell source code manipulation. In particular it defines an abstract syntax tree representation, and a parser and pretty-printer to convert between this representation and String. It handles (almost) all syntactic extensions to the Haskell 98 standard implemented by GHC, and the parsing can be parametrised on what extensions to recognise.

HaRe (the Haskell Refactorer) in action - short screencast. Claus Reinke linked to a short video showing HaRe, the Haskell refactorer, in action. HaRe still exists---but needs some love in the form of time and/or funding for maintenance and continued development.

Trivial pivoting for the DSP lu decomposition. Fernan Bolando announced the beginnings of a simple circuit simulator using haskell, which uses a modified version of the haskell DSP library matrix, extended with a simple pivoting method.

Discussion

make some Applicative functions into methods, and split off Data.Functor. Ross Paterson proposed moving several functions such as (<$), (*>), and so on into their respective classes with default definitions, to allow for specialized implementations.

base library and GHC 6.12. Ian Lynagh began a discussion about how to structure the base library in the future.

Proposal: ExplicitForall. Niklas Broberg proposed adding a new GHC extension, ExplicitForall, to be used for turning on explicit 'forall' syntax in types, and to help disentangle and simplify some existing extensions.

Generic Graph Class. Ivan Lazar Miljenovic proposed a generic graph class to serve as a common interface for the many Haskell libraries that deal with graph data structures.

Type system trickery. Andrew Coppin asked how to statically ensure certain properties of recursive data structures with the type system, generating varied suggestions involving GADTs.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • gnuvince: Contributions to Hackage are measured in µConals.
  • DavidWheeler: Compatibility means deliberately repeating other people's mistakes.

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.

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: June 21, 2009

Submitted by byorgey on Sun, 06/21/2009 - 12:10pm.
Haskell Weekly News: June 21, 2009

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

Are you ready for the 12th Annual ICFP programming contest? It begins this Friday, don't miss it! Let's reclaim Haskell's rightful place as the programming language of choice for discriminating hackers.

Announcements

Haskell protocol-buffers version 1.5.0. Chris Kuklewicz announced version 1.5.0 of the protocol-buffers, protocol-buffers-descriptor, and hprotoc packages to Hackage. This catches up to Google's version 2.1.0: support for "repeated" fields for primitive types; fields can now be marked deprecated; the type name resolver will no longer resolve type names to fields; and more.

12th Annual ICFP Contest. Mark Huntington Snyder announced the 12th Annual ICFP Programming Contest, hosted by the University of Kansas Computer Systems Design Laboratory at the Information and Telecommunication Technology Center. The contest will be held on the weekend of June 26-29. The contest task will be released sixteen seconds after 13:00 Central Daylight Time (US) on Friday, and entries will be accepted until 13:00:16 CDT on Monday. There is no preregistration required, and participation is free and open to all. Teams may participate from any location, and may use any programming language(s). Read the contest blog or subscribe to the RSS feed to receive timely updates before and during the contest.

clock 0.1 released. Cetin Sert announced the release of clock, a package for convenient access to high-resolution clock and timer functions of different operating systems. It is planned to consist of two layers; the lower layer will provide direct access to OS-specific clock and timer functions like clock_gettime of Posix or GetTickCount of Windows, and its upper layer shall then provide a common API for all supported systems. Currently only the lower level is being developed.

Turbinado V0.7. Alson Kemp announced version 0.7 of Turbinado, a Ruby-On-Rails-like web server and web framework for Haskell. It is designed to make creating web application using Haskell both easy and joyful. The primary additions in version 0.7 are FastCGI support and a new templating system (which includes HAML and HTML support). Additional details can be found here.

haskeline-class. Antoine Latter announced haskeline-class, a small library providing a newtyped MonadState instance for haskeline which lifts the class operations to an inner monad (as opposed to its existing instance).

hyena. Johan Tibell announced the first release of hyena, a library for building web servers, based on the work on iteratee style I/O by Oleg Kiselyov. The library allows you to create web servers that consume their input incrementally, without resorting to lazy I/O. This should lead to more predictable resource usage.

Haskell-based iPhone development. Conal Elliott announced a collaboration wiki page for anyone working with Haskell to make iPhone apps.

Fwd: Boston Haskell June 23rd meeting: openings for Lightning Talks. Ravi Nanavati announced that there are several available slots for "lightning" (5 minute) talks at the June 23 meeting of the Boston Area Haskell Users' Group.

haskell-src-exts 1.0.0 rc1. Niklas Broberg announced a series of release candidates for haskell-src-exts-1.0.0 (as of this writing, the most recent release candidate is version 0.5.6). This version is intended to fully support parsing of almost all Haskell extensions. Please help with testing!

BostonHaskell: Next meeting - June 23rd at MIT CSAIL Reading Room (32-G882). Ravi Nanavati announced the second meeting of the Boston Area Haskell Users' Group, scheduled for Tuesday, June 23rd from 6:30pm - 8:30pm. It will be held in the MIT CSAIL Reading Room (32-G882, i.e. a room on the 8th floor of the Gates Tower of the MIT's Stata Center at 32 Vassar St in Cambridge, MA). Talks include "Automagic Font Conversion with Haskell Typeclasses" by Frank Berthold, and "Intermediate Language Representations via GADTs" by Nirav Dave.

traversal transformations. Sjoerd Visscher exhibited some code for Church-encoded container structures using their Foldable instance, and later announced the fmlist package based on the same code, along with a surprising example of a lazy 'middle-infinite' list (where elements can be taken from the beginning or the end!).

hledger 0.6 released. Simon Michael announced the release of hledger 0.6. See the announcement for a list of the new features and other information.

Discussion

Adding swap to Data.Tuple. roconnor proposed adding swap and swap' functions to Data.Tuple.

Revamping the module hierarchy. Johan Tibell began an interesting discussion about package names, module names, and the module hierarchy.

Confusion on the third monad law when using lambda abstractions. Jon Strait asked about the third monad law, leading to some clarification on what precisely the law says, and some interesting discussion on idiomatic use of the (<=<) (Kleisli composition) operator.

Need some help with an infinite list. Gunther Schmidt asked for some help generating a particular infinite list, and got a number of interesting suggestions.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • Botje: <Cheery> oh man. de bruijn again kicked me to groin <Botje> the easy fix is to label your groin as (-1) :)
  • Pseudonym: Telling dons that something has been added to the shootout is the new telling Oleg that it can't be done in the type system.

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.

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: June 13, 2009

Submitted by byorgey on Sat, 06/13/2009 - 3:28pm.
Haskell Weekly News: June 13, 2009

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

Announcements

purely functional lazy non-deterministic programming. Sebastian Fischer announced the explicit-sharing library, which supports lazy functional-logic programming in Haskell.

nntp 0.0.1. Maciej Piechotka announced the release of nntp, a library to connect to nntp (i.e. mainly USENET) servers.

OpenGLRaw 1.0.0.0. Sven Panne announced the release of OpenGLRaw, a low-level binding for OpenGL. The eventual goal is to make the OpenGL package easier to install, more modular and a bit more flexible.

pgm-0.1 on Hackage. Frederick Ross announced pgm, a pure Haskell library to read and write PGM images. It seamlessly handles the divide between 1 and 2 byte per pixel images; reads and writes UArrays; can handle multiple PGMs concatenated one after another in a file; and encodes and decodes all comments in the PGM header, which can be used to drop arbitrary metadata into files in a human readable manner.

iteratee-0.2.1 released. John Lato announced the release of iteratee-0.2.1, a major update to the iteratee library. This library provides types and functions for performing enumerator/iteratee based I/O operations in Haskell, as described by Oleg. The new version is a large redesign, including support for resumable exceptions and a greatly simplified interface.

testrunner-0.9. Reinier Lamers announced testrunner, a new framework for running unit tests. It can run unit tests in parallel; can run QuickCheck and HUnit tests as well as simple boolean expressions; and comes with a ready-made main function for your unit test executable.

serial-0.2. Frederick Ross announced version 0.2 of serial, a library for working with line-oriented POSIX serial ports.

hunp-0.0. Deniz Dogan announced hunp, a command-line utility which automagically calls the right "unpacker" program for you and works on both files and directories.

Nemesis : easy task management. Jinjing Wang announced a new release of nemesis, a simple rake-like task management tool.

Data.Reify.CSE. Sebastiaan Visser announced the data-reify-cse module, which implements common sub-expression elimination for graphs generated by the Data.Reify package. This package might especially be useful for optimizing simple compilers for referentially transparent domain specific languages.

Hac phi accommodation: register by June 15 for reduced rate! Brent Yorgey reminded anyone interested in attending Hac phi that Monday 15 June is the deadline for getting a special reduced hotel rate.

alloy-1.0.0 (generic programming). Neil Brown announced the first release of the Allow generic programming library. It is intended to be a fairly fast blend of several other generics approaches, such as SYB (but without the dynamic typing) and Uniplate (but allowing an arbitrary number of target types), for performing transformations on specific types in large tree structures.

StrictBench 0.1 - Benchmarking code through strict evaluation. R.A. Niemeijer announced the release of StrictBench, a library for timing full evaluation of values.

haskeem 0.7.0 uploaded to hackage. Uwe Hollerbach announced haskeem, a small scheme interpreter written in Haskell.

numtype 1.0 -- Type-level (low cardinality) integers. Bjorn Buckwalter announced the Numeric.NumType module, now released as its own package, which implements a unary type-level representation of integers, supporting addition, subtraction, multiplication, and division.

Google Summer of Code

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

space profiling. Gergely Patai has some pretty graphs generated by his profiling library.

haskell-src-exts. Niklas Broberg is quite close to releasing haskell-src-exts 1.0.0, as soon as he has full and correct support for (almost) everything code-related, with only a few things left to do. He also wrote a post explaining the intricacies of parsing code containing the 'forall' keyword (well, whether it is a keyword depends on which extensions are enabled...)

fast darcs. Petr Rockai made a bit less progress this week, with finals and other things interfering, but made some progress on some documentation, tracking down a performance regression, and other things.

Discussion

Adding an ignore function to Control.Monad. Gwern Branwen proposed adding an 'ignore' function to Control.Monad which explicitly changes an m a into a m (). Bikeshedding (and some useful discussion) ensued.

Wiki user accounts. Philippa Cowderoy began a discussion of what to do about the current situation with wiki user accounts (namely, that account creation is disabled due to spam, and the one maintainer of the wiki can't always respond to account creation requests instantly).

Lightweight type-level dependent programming in Haskell. Ryan Ingram made an interesting post about implementing lightweight closed type classes in Haskell.

who's up for a hackathon? (ICFP, late Aug, early Sept). Eric Kow wanted to know who would be interested in having a hackathon immediately before or after ICFP in Edinburgh.

Jobs

Galois is hiring functional programmers. Don Stewart announced that Galois is hiring! See the announcement for more details.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • sjanssen: in our sub-culture, "considered harmful" means "burn it with fire"
  • quicksilver: after all, anyone who insists on talking about himself in the third person is clearly someone to be reckoned with.

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.

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: June 6, 2009

Submitted by byorgey on Sat, 06/06/2009 - 12:51pm.
Haskell Weekly News: June 06, 2009

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

Sorry for the massive HWN, I missed last week so you're getting two for the price of one! Registration for Hac phi is now open, be sure to register soon (register by June 15 to get a special hotel rate).

Announcements

Reminder: Haskell Implementers' Workshop CFT deadline in 2 weeks. Simon Marlow reminded everyone to consider submitting a talk proposal for the Haskell Implementers' Workshop, to be held in conjunction with ICFP in Edinburgh, Scotland on 5 September. The deadline for submissions is a couple of weeks away (15 June); all that is needed is an abstract.

storable-record. Henning Thielemann announced storable-record, a small package for simplified declaration of Storable instances for records. It may be used as an alternative to the c2hs preprocessor. It was made possible by advanced applicative technology, a cutting edge LCM monoid and an incredible constructor power tower.

Haskell Communities and Activities Report (16th ed., May 2009). Janis Voigtlaender announced the availability of the 16th Haskell Communities and Activities Report.

hledger 0.5 released. Simon Michael announced the release of version 0.5 of hledger, a (mostly) text-mode double-entry accounting tool that generates precise activity and balance reports from a plain text journal file.

New repository and trac for haskell-src-exts. Niklas Broberg announced some new infrastructure for the haskell-src-exts package, set up in preparation for his GSoC project. with the HSP packages, it's now old enough to be allowed to live on its own. There is also a bug tracker. Please help by reporting any bugs you come across, or by requesting new and cool features.

bsd-sysctl 1.0.3. Maxime Henrion announced the release of bsd-sysctl 1.0.3, a package that provides a System.BSD.Sysctl module allowing access to the C sysctl(3) API. It should fully work on FreeBSD, NetBSD and Mac OS X platforms.

multirec-binary. Sebastiaan Visser announced the release of multirec-binary, which allows generic derivation of Data.Binary instances using the MultiRec library.

notice for package authors. Duncan Coutts announced that Hackage uploads will soon require an upper bound on the version of the base package and reject packages that omit it. This will hopefully result in less breakage the next time a new version of the base package is released.

(Pre-) Announce: Data.GDS 0.1.0. Uwe Hollerbach (pre-) announced Data.GDS, a small module to write and (eventually) read GDS files, a classic format of the semiconductor industry. The module can currently generate GDS files with a fairly low-level interface; planned future versions (which will be uploaded to Hackage) will have a higher-level interface and be able to parse GDS files as well.

new version of uu-parsinglib. S. Doaitse Swierstra announced that a new version of the uu-parsinglib library has been uploaded to hackage. It is now based on Control.Applicative where possible. Be warned that functions like some and many will be redefined in the future.

Hac phi: Haskell hackathon in Philadelphia, July 24-26. Brent Yorgey announced Hac phi, a Haskell hackathon/get-together to be held July 24-26 at the University of Pennsylvania in Philadelphia. The hackathon will officially kick off at 2:30 Friday afternoon, and go until 5pm on Sunday (with breaks for sleep, of course). Everyone is welcome---you do not have to be a Haskell guru to attend! Helping hack on someone else's project could be a great way to increase your Haskell-fu. If you plan on coming, please register. There is a block of hotel rooms available at a special rate only until June 15, so register early! More details can be found on the Hac phi wiki.

Job for someone: make a VM image for GHC development. Simon Marlow suggested a useful project for someone looking for something to do: create a VM image of a Linux system with a complete GHC development environment set up and ready to go.

My attempt at Haskell USB. Mauricio announced some Haskell bindings to libusb, and gave another plug for his bindings-common package, which makes it easier to generate Haskell bindings to low-level libraries.

second alpha release of OSX haskell platform installer. Gregory Collins announced a second candidate release for the OSX Haskell Platform installer. Please try it out!

Release Schedule for 2009.2.0.2. Don Stewart announced the release schedule for the next minor release of the 2009.2.0 branch of the Haskell Platform. The freeze for package changes will be Wednesday 1 July, and the release is scheduled for Monday 13th July.

hscamwire, for IIDC1394 cameras. Frederick Ross announced the release of hscamwire 0.1, which provides a nice Haskellized layer over Camwire, a library to connect to IIDC1394 cameras (most scientific and industrial Firewire cameras) on Linux.

Safe and generic printf with C-like format string. oleg announced some code to implement a type-safe polyvariadic version of printf, which is also integrated with Show so that any showable type can be printed.

A library for serial ports. Frederick Ross announced the release of serial-0.1, a library for line-oriented interaction with serial ports on POSIX compatible systems.

HaL4: Haskell-Meeting in Germany, 12th June 2009. Janis Voigtlaender reminded everyone of Hal4, a German-language Haskell gathering to be held in Halle/Saale on June 12. There are already close to 50 registered participants, so expect a very lively meeting! Late registration still possible.

wp-archivebot 0.1 - archive Wikipedia's external links in WebCite. Gwern Branwen announced wp-archivebot, a relatively simple little script which follows all the links in a RSS feed, combs the destination for http:// links, and submits them to WebCite.

memscript-0.0.0.2. Ki Yung Ahn announced memscript, a command line utility for memorizing scriptures or any other text.

HSH 2.0.0. John Goerzen announced the release of version 2.0.0 of HSH, the Haskell shell scripting library. This version features a complete rewrite of the core using System.Process, a drastic reduction in code size and complexity, cross-platform support, and a simpler and more flexible API.

atom-0.0.5. Tom Hawkins announced version 0.5 of the atom library, a DSL for embedded hard realtime applications. This version includes a few bug fixes and doc improvements.

heap-1.0.0. Stephan Friedrichs announced a rewrite of the heap package, heap-1.0.0. It is not 100% compatible with version 0.6.0, but provides major improvements, including a better mechanism for instantiating min-, max-, min-prio- and max-prio-heaps, and faster {from,to}{Asc,Desc}List conversions.

The Haskell Platform 2009.2.0.1. Don Stewart announced the second release (2009.2.0.1) of the Haskell Platform, a single, standard Haskell distribution for everyone. The specification, along with installers (including Windows and Unix installers for a full Haskell environment) are available.

Anglohaskell 2009. Philippa Cowderoy announced Anglohaskell 2009, to be held at MSR Cambridge on the 7th and 8th of August.

code reviewers wanted for hashed-storage (darcs). Eric Kow solicited anyone with a few spare hours this summer willing to help the Darcs project as a code reviewer for the standalone hashed-storage module, which will be used by Darcs in the future. No Darcs experience is needed!

Google Summer of Code

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

Haddock improvements. Isaac Dupree has begun looking at the Haddock code, and has a question about which of two options he should pursue.

EclipseFP. Thomas Ten Cate has posted an explanation of how the Scion client/server model works.

Space profiling. Gergely Patai has uploaded a preliminary version of the hp2any core library which handles heap profiles both during and after execution. He has also posted some pretty graphs generated by a simple utility built on top of the core library.

haskell-src-exts. Niklas Broberg has begun work by making a list of all language extensions and the ways in which they affect lexing and parsing, since haskell-src-exts will need to be parameterized over these extensions.

Fast Darcs. Petr Rockai has posted two detailed progress reports already, with many changes to both the standalone hashed-storage library and a fork of darcs which uses it.

Discussion

Error message reform (was: Strange type error with associated type synonyms). Max Rabkin began an interesting discussion about error messages. Do you have an intuitive sense of which is the 'expected' and which the 'inferred' type?

time library dependencies. Ashley Yakeley asked what dependencies are acceptable for the time library, leading to a discussion of what dependencies are acceptable for base packages.

Bool as type class to serve EDSLs. Sebastiaan Visser started a discussion on the possibility of a type class for representing Boolean values, much like the current Num class for numeric values.

Jobs

10 jobs in declarative programming. Oege de Moor announced the availability of positions with Semmle and LogicBlox for ten declarative programming consultants, who will work with clients to write custom queries in Datalog, and to create user interfaces in a declarative framework. Semmle and LogicBlox are creating a platform for declarative programming in Datalog, a pure logic programming language. Semmle is based in Oxford, headed by Oege de Moor; LogicBlox is based in Atlanta, headed by Molham Aref. See the announcement for more information and how to apply.

Blog noise

Haskell news from the blogosphere. Blog posts from people new to the Haskell community are marked with >>>, be sure to welcome them!

Quotes of the Week

  • pumpkin: we should throw it [CReal] in with Foreign.C.Types to confuse people
  • MyCatVerbs: The *real* best way to optimize a program is to tell dons that it's been added to the Shootout.
  • SimonFrankau: The points-free approach, while elegant, can make code unreadable, especially if it is written by quantitative analysts moonlighting as functional programmers.
  • ValarQ: l33t_h4x0r: could you help me port GHC to the AVR architecture? <-- l33t_h4x0r has left #haskell
  • gwern: drat. what *do* all you people talk about? only one bacon and one zombie quote
  • quicksilver: well if you can get proggit to help with your interview, then perhaps you can get proggit to help with the job when you get it. So it's not cheating, it's just an indication of one of your skill sets.
  • shapr: I haven't tried F#, everytime I get the urge to do something fun with .NET I have SharePoint flashbacks and buy more hardware instead.
  • gwern: bleh. haskell is messing me up. I wondered what operator =) is, before I realized it was a syntax error, before I realized it was an emoticon

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.

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/ .