Haskell Weekly News

Haskell Weekly News: September 26, 2009

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

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

This week, we have a few new libraries, some interesting discussion about EDSLs, a comment from Oleg, and dons extolling the virtues of SCIENCE! On the new HWN software front, I've decided to jump right into something I had planned for far further down the development chain. Specifically, rather than scraping GMane for messages, I've been working on a way to grab the messages directly from the mailing-lists. I'm not entirely sure how I'm going to create links as they are now for the messages, but one crisis at a time. Till next week, here's the Haskell Weekly News!

Announcements

epoll bindings 0.2. Toralf Wittner announced the release of epoll bindings 0.2 available here. Epoll is an I/O event notification facility for Linux similar to poll but with good scaling characteristics. This release adds a buffer abstraction on top of the existing low-level bindings, so client code can write and read to buffers without having to deal directly with the underlying epoll event handling.

diagrams 0.2.1, and planned major improvements. Brent Yorgey announced version 0.2.1 of the diagrams library, available now on Hackage. This minor release which fixes a few bugs and adds a few new combinators, most notably a grid layout combinator contributed by Ganesh Sittampalam.

Workflow-0.5.5, TCache-0.6.4 RefSerialize-0.2.4. Alberto G. Corona announced Workflow 0.5.5. Workflow provides a monad transformer that encapsulates any monad in a state monad that bring automatic state logging and recovery. A workflow can be viewed as a thread that persist across planeed or unplanned application shutdowns. When recovering the execution is resumed at the last action that was logged. The process continues at the same state as if not interruption took place.

graphviz-2999.5.1.1. Ivan Lazar Miljenovic announced version 2999.5.1.1 of the graphviz library. This is another bug-fix release, fixing the problem spotted by Kathleen Fisher where Dot keywords need to be explicitly quoted if used as labels, etc. There is no change to the API.

histogram-fill, library for creating histograms. Khudyakov Alexey announced histogram-fill. histogram-fill provides a generic and convenient API for making histograms. Features include, multiple simultaneous histogram creation, Immutable histograms, and Serialization to and from human readable text.

Darcs Hacking Sprint - 14-15 November Vienna. Eric Kow announced the third Darcs Hacking Sprint. Which will take place 14-15 November, 2009 at the University of Technology, Vienna, Austria. Anybody who wants to hack on Darcs (or Camp, Focal, SO6, etc) -- Beginners especially -- are welcome!

2nd CFP: TLDI 2010. Andrew Kennedy announced a second call for papers for TLDI2010, the Types in Language Design and Implementation Workshop.

darcs 2.3.1: better docs, fewer bugs. Reinier Lamers announced a new stable version of darcs, with bugfixes from 2.3.0, improved documentation, and removal of the old autoconf build system.

TFM09: Call for Participation (FMWeek, Eindhoven, November 2009). J.N. Oliveira announced a Call for Participation in TFM2009 2nd Int. FME Conference on Teaching Formal Methods Friday, November 6th 2009, co-located with FM2009 : 16th Int. Symposium on Formal Methods Eindhoven, the Netherlands, November 2 - November 6, 2009.

Discussion

Monad Tutorial in C++. Adrian May wrote a tutorial about monads in some other niche language...

Beginning of a meta-Haskell. Oleg -- as if he needs any introduction -- commented on things far above my ability to understand. Evidently, however, it involves extensible, modular interpreters in the ``tagless final'' style. It was a reply to an earlier thread here.

An issue with EDSLs in the ``finally tagless'' tradition. Brad Larsen talked about his run in with the expression problem while experimenting with EDSLs.

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

  • lilac: ponders whether unsafePerformIO would be better as simonSaysPerformIO
  • bos: [On the type signature of hPrintf] This makes me a sad Irish panda.
  • ksf: (But if (on the other hand)) (I think only a number in general (whether it be five or a hundred)) (this thought is rather the representation of a method (whereby a multiplicity (for instance a thousand) may be represented (in an image in conformity with a certain concept)) than the image itself.
  • dons: ah, via the magic of SCIENCE
  • dobblego: many of my colleagues used to be [fond of ruby] as well until I was let loose on them
  • dons: (on whether a library is wanted) *yes* put it on Hackage!
  • BMeph: (about parsec) 'Cause it's light-years ahead of the competition!
  • switch: Comeon people! You make the news!
  • ray: I think programmers make the worst programmers, also the worst people, and I'm saying this having not looked at programming reddit in a while.
  • Orclev: ... a lot of haskell still looks greek to me, and I'm not talking about lambdas.
  • Jason Dusek: "Some day, we're going to need a short, catchy name for Cabal packages. Let's call them cabbages." [see http://thread.gmane.org/gmane.comp.lang.haskell.cafe/63649].
  • Reinier Lamers: If we keep up the current pace of performance hacking, darcs will be complete before you even hit the enter key in a few years
  • Trent Buck: [To Reiner Lamers] With the appropriate (ie unbuffered) terminal, this is already the case for interactive prompts.

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 jfredett . at . gmail . dot . com. The darcs repository is available at darcs get http://patch-tag.com/r/HWN2/home .

Haskell Weekly News: September 19, 2009

Submitted by byorgey on Sat, 09/19/2009 - 11:35am.
Haskell Weekly News: September 18, 2009

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

Last week, I received an email from Mark Wotton about his project Hubris. I totally forgot to put it in the HWN last week, too busy trying to figure out all the tools. So, I thought I'd make it up and give him some special editorial status this week. Hubris is a bridge between Ruby and Haskell, allowing you to call Haskell from Ruby. It's very cool, I highly suggest playing with it. Also, I've been posting a bit about the new HWN tools (dubbed "HWN2") on my blog, there is also a repo up at patch-tag which will have all the code. If there is some interest in helping me, I'll try to come up with a TODO list/Trac.

Announcements

hssqlppp, sql parser and type checker, pre-alpha. Jake Wheat announced his parser/type checker for SQL. It currently parses a subset of PostGreSQL and PL/pgSQL, and can type check some statements.

LambdaINet-0.1.0, Graphical Interaction Net Evaluator for Optimal Evaluation. Paul L announced a LambdaINet 0.1.0, available on Hackage. LambdaINet implements an interaction net based optimal evaluator. With an interactive graphical interface allowing the user to view and directly manipulate the interaction net.

arbtt-0.1. Joachim Breitner announced the Automatic Rule-Based Time Tracking tool on hackage. he has an introduction available here.

A statistics library. Bryan O'Sullivan announced the imaginatively named statistics library. Which supports common discrete and continuous probability distributions, Kernel density estimation, Auto-correlation analysis, Functions over sample data, Quantile estimation, and Re-sampling techniques.

CFP: JSC Special Issue on Automated Verification and Specification of Web Systems. A Special Issue of the Journal of symbolic computation was announced. This issue is related to the topics of the Automated Specification and Verification of Web Systems Workshop (WWV'09). Read the announcement for more details.

Haskeline 0.6.2. Judah Jacobson announced the release of Haskeline 0.6.2, available here. Improvements over the last version include, new emacs and vi bindings, a new preference to remove repeated history entries, recognition of page-up and page-down keys, and more.

PEPM'10 - Last CFP (Submission: 6 Oct 09, Notification: 29 Oct 09). Janis Voigtlaender announced the Last Call for Papers for PEPM'10, see the announcement for more details.

Videos of HIW 2009. Malcolm Wallace announced videos of all the presentations/discussions at the recent Haskell Implementers Workshop 2009, in Edinburgh, are now online. The program of talks is available here.

Unification in a Commutative Monoid (cmu 1.1) and a new release of Abelian group unification and matching (agum 2.2). John D. Ramsdell announced cmu 1.1, which provides unification in a commutative monoid, also know as ACU-unification. The core computation finds the minimal non-zero solutions to homogeneous linear Diophantine equations. The linear equation solver has been place in a separate module so it can be used for other applications. He also announced agum 2.2, which provides unification and matching in an Abelian group, also know as AG-unification and matching.

graphviz-2999.5.1.0. Ivan Lazar Miljenovic announced a bug-fix release of the GraphViz package, no major API changes occurred.

levmar-0.2, bindings-levmar-0.1.1. Bas van Dijk and Roel van Dijk announced new versions of the levmar and bindings-levmar packages. New features include automatic calculation of the Jacobian via Conal Elliot's automatic differentiation from his vector-space library.

CmdArgs - easy command line argument processing. Neil Mitchell announced CmdArgs 0.1. CmdArgs is a library for parsing command-line arguments. It offers several improvements over GetOpts, namely that the Command Line Argument Processors are shorter and CmdArgs can support multiple-mode command lines such as those found in darcs, cabal, hpc, etc.

OpenGL 2.4.0.1. Sven Panne announced a new version of the OpenGL package, this version fixes a bug that didn't make it into the previous release.

OpenGLRaw 1.1.0.0. Sven Panne announced a new version of the OpenGLRaw package has been uploaded to Hackage.

Discussion

Thank you guys. Cristiano Paris took some time to thank us all from -Cafe for helping him learn Haskell. You're welcome, Cristiano!

Unicode lexing in GHC and GHCi. Sean McLaughlin asked about why certain unicode characters parsed in GHCi without error, but not in compiled code.

Help with FFI. Jose Prous asked for some help with the foreign function interface.

Ambiguous type variable with subclass instance. Andy Gimblett asked about a particular ambiguous type error

Haskell -> .NET. Peter Verswyvelen asked about the possibilities for a .NET version of Haskell.

A thought about liberating Haskell's syntax. George Pollard suggested a new way to do templates, so that brace-like syntax could be added without having to seriously hack GHC.

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

  • quicksilver: no, you mispelt >> as ;
  • dons: Cale's my alter-ego. I talk about applications and benchmarking, he talks about theory and math. We've been doing this for years :)
  • gwern: #haskell: because none of us are as offtopic as all of us
  • some-crazy-hwn-editor: A monster! HAH! It will not be a monster, but a god! ALL SHALL BOW BEFORE MY SPAWN AND DESPAIR! ALL HAIL THE PROGRAMMER CHILD! ALL HAIL THE HYPNOTOAD!
  • AlanJPerlis: Purely applicative languages are poorly applicable.

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 jfredett . at . gmail . dot . com. The darcs repository is available at darcs get http://patch-tag.com/r/HWN2/home .

Haskell Weekly News: September 12, 2009

Submitted by byorgey on Sat, 09/12/2009 - 11:24am.
Haskell Weekly News: September 12, 2009

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

Welcome to issue 130 of HWN! In the last week, HWN has gotten a new editor, me! I'm Joe Fredette (jfredett on IRC, reddit, and everywhere else), and I'll be taking over for Brent (byorgey) from now on. I think I speak for the whole community when I thank him for his excellent work on the HWN and associated tools. I have a few ideas about how I want to change HWN for the better, and hopefully you'll like them too! So, without further ado, The Haskell Weekly News!

Announcements

Looking for a new HWN editor. Brent Yorgey went looking for a new editor for the HWN, and that's how you got me! See the editorial for more details.

CfPart: FMICS 2009, 2-3 November 2009. Christophe Joubert announced FMICS 2009 - FIRST CALL FOR PARTICIPATION, 14th International Workshop on Formal Methods for Industrial Critical Systems. November 2-3, 2009

Call for Posters: APLAS 2009. Kiminori Matsuzaki announced a CALL FOR POSTER PRESENTATIONS The Seventh ASIAN Symposium on Programming Languages and Systems (APLAS 2009) December 14 - 16, 2009 Seoul National University, Seoul, Korea.

hecc-0.1. Marcel Fourné announced the first release of hecc, the Elliptic Curve Cryptography Library for Haskell. Implemented are affine, projective, jacobian and modified jacobian point formats with the basic operations. Included as an Example is a basic ECDH as well as a basic speed test.

HLint 1.6.8. Neil Mitchell announced HLint 1.6.8. HLint is a tool for suggesting improvements to your source code. It suggests the use of library functions you may have been unaware of, finds patterns of recursion that are really folds/maps, hints about extensions you aren't using and much more. HLint is now one of the top 20 applications on Hackage, and is used by the darcs project to improve and statically check their code base.

A Levenberg-Marquardt implementation. Bas van Dijk announced the release of a Haskell binding to Manolis Lourakis's C levmar library. This library implements the Levenberg-Marquardt algorithm which is an iterative technique that finds a local minimum of a function that is expressed as the sum of squares of nonlinear functions. It has become a standard technique for nonlinear least-squares problems and can be thought of as a combination of steepest descent and the Gauss-Newton method.

CCA-0.1. Paul L announced that a library for Causal Commutative Arrows (CCA) has been uploaded to Hackage DB. It implements CCA normalization using Template Haskell and a modified arrow pre-processor (based on arrowp) to generate outout that Template Haskell can parse. It's highly experimental since we are still fiddling with several design choices, and by no means we imply Template Haskell is the best choice to implement CCA. Any suggestion or comment is welcome!

graphviz-2999.5.0.0. Ivan Lazar Miljenovic announced version 2999.5.0.0 of the graphviz package for Haskell. This is what I like to think of as the 'Hey, this is almost getting to be a decent library!' version. The graphviz package provides bindings to the GraphViz suite of programs by providing the ability to generate and parse GraphViz's Dot language as well as wrappers around the tools themselves.

uvector-algorithms 0.2. Dan Doel announced version 0.2 of the uvector-algorithms package. The package so far has implementations of several sorting and selection algorithms for use on the mutable arrays from the uvector library, as well as combinators for applying them to immutable arrays.

dbmigrations 0.1. Jonathan Daugherty announced dbmigrations, A library and program for the creation, management, and installation of schema updates (called migrations) for a relational database. In particular, this package lets the migration author express explicit dependencies between migrations and the management tool automatically installs or reverts migrations accordingly, using transactions for safety. This package is written to support any HDBC-supported database, although at present only PostgreSQL is fully supported.

Palindromes 0.1. Johan Jeuring announced Palindromes, a package for finding palindromes in files. Visit the homepage The primary features of Palindromes include: A linear-time algorithm for finding exact palindromes, A linear-time algorithm for finding text palindromes, ignoring spaces, case of characters, and punctuation symbols.

Discussion

Averting QuickCheck Madness. Christopher Lane Hinson Christopher Hinson asked about best practices with regards to QuickCheck, and it's inclusion/exclusion as a dependency for end-user programs.

How to customize dyre recompile? Andy Stewart Andy Stewart asked about how to customize Dyre's settings to do a whole-program recompilation.

Externally derive instance of Data? Dimitry Golubovsky Dimitry Golubovsky asked about stand-alone deriving for third-party datatypes.

Parallel parsing & multicore. Anakim Border Anakim Border talked about parallel parsing, specifically about a parser he had put together, which led to a discussion of Edward Kmett's recent talks at BAHUG.

Ph.D position, Utrecht University, the Netherlands. S.Doaitse announced Vacancy PhD student on Realizing Optimal Sharing in the Functional Language Implementations Utrecht University, The Netherlands.

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

  • lispy: All haskell lists have less than 400 elements
  • Jafet: The C preprocessor is purely dysfunctional
  • edwardk: so the -> is matched on the outside, but the -> and , fail to match on the inside, unification fails, dogs and cats start living together in harmony, general chaos.
  • yaxu: [about lambdabot] an irc bot that no-one understands the workings of has to be a fine precursor to artificial intelligence
  • Gracenotes: all in all, you're just another brick in the -Wall

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 jfredett . at . gmail . dot . com. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

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