Haskell Weekly News: February 7, 2009

Submitted by byorgey on Sat, 02/07/2009 - 1:13pm.
Haskell Weekly News: February 07, 2009

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

Community News

Andre Pang (ozone) will be soon moving to San Fransisco to begin work with Pixar!

Announcements

Mutually recursive modules. Henning Thielemann announced a small writeup explaining how mutually recursive modules are currently supported, and how they can be avoided. Please add information about other compilers and more ideas on breaking cycles.

UrlDisp, a friendly URL dispatching library. Artyom Shalkhakov announced the first release of UrlDisp, a small library for URL dispatching (aka routing). Right now it works with CGI, and should be compatible with FastCGI as well (not tested); Happstack compatibility is planned. Documentation and usage examples are available.

Purely functional LU decomposition. Rafael Gustavo da Cunha Pereira Pinto released some code to perform purely functional LU decomposition.

Ready for testing: Unicode support for Handle I/O. Simon Marlow announced that proper Unicode support in Handle I/O is ready for testing in GHC. Just download the set of patches, compile GHC with them, and test away! Comments and discussion welcome.

HaskellWiki Accounts. Ashley Yakeley can create a HaskellWiki account for anyone who wants one (account creation has been disabled as a spam-fighting measure).

multiplicity 0.1.0 released. Dino Morelli announced the release of multiplicity 0.1.0, a configuration file driven wrapper around duplicity. It allows you to easily define backup sets as config files and avoid long, repetitive command lines.

Happstack 0.1 Released!. Matthew Elder announced the 0.1 release of Happstack, the successor for the HAppS project.

#haskell-in-depth IRC channel. Philippa Cowderoy announced the creation of a new IRC channel, #haskell-in-depth. The new channel is open to everyone, just like #haskell, but is intended for more in-depth conversations, to allow the #haskell channel to be a more newbie-friendly place.

regex-posix-unittest-1.0 AND regex-posix-0.94.1 AND regex-tdfa-0.97.1. ChrisK announced an update to the regex-posix package which provides better semantics for multiple matches; an update to the regex-tdfa package, which provides the same new multiple match semantics and fixes a bug; and finally, a new package, regex-posix-unittest, along with an accompanying wiki page; it runs a suite of unit tests which regex-tdfa passes, but reveals bugs in the standard glibc, OS X, FreeBSD, and NetBSD implementations!

Jane Street Summer Project 2009. Yaron Minsky announced the Jane Street Summer Project for 2009, the goal of which is to make functional programming languages into better practical tools for programming in the real world. Students will be funded over the summer to work on open-source projects which aim at improving the practical utility of their favorite functional language.

gitit 0.5.1. John MacFarlane announced the release of gitit 0.5.1, a wiki program that uses git or darcs as a filestore and HAppS as a server. Changes include major code reorganization, bug fixes, new debugging features, and more.

regex-xmlschema. Uwe Schmidt announced the release of regex-xmlschema, (yet another) package for processing text with regular expressions, containing a complete implementation of the W3C XML Schema specification language for regular expressions.

diagrams 0.2. Brent Yorgey announced version 0.2 of the diagrams package, an embedded domain-specific language for creating simple graphics in a compositional style. New features include support for arbitrary paths, text, multiple output formats, and support for the colour library.

Discussion

Haddock Markup. David Waern began a discussion on Haddock markup syntax: should it support (La)TeX for embedded mathematics? Should it support other stuff?

Elegant & powerful replacement for CSS. Conal Elliott began a discussion on an elegant replacement for CSS that is consistent, composable, orthogonal, functional, and based on an elegantly compelling semantic model---what might such a thing look like?

type metaphysics. Gregg Reynolds began a long and interesting discussion on the type system, denotational semantics, and related matters.

Jobs

Postdoc Positions at the CLIP group, Spain. CFP announced the availability of postdoctoral research positions within the CLIP (Computational Logic, Implementation and Parallelism) group in Madrid, Spain. The application deadlines are February 13th and 18th; see the original email for more details.

Multiple funded Ph.D. positions available. Martin Erwig announced the availability of multiple funded Ph.D. positions in the school of EECS at Oregon State University, in the areas of programming languages (focusing on DSLs and language design), software engineering, and HCI. If you are interested, email Martin with a resume and contact information by February 15.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • sigfpe: If I took some Ritalin, maybe I could write an entire book on Haskell and algebra.
  • cjb: It's all fun and games until somebody loses an IOVar.
  • Gracenotes: You are likely to be eaten by a poset
  • Gracenotes: A public service announcement: if you find yourself overusing the Writer monad, tell (Sum 1)
  • Anonymous: Haskell, the world's leading purely fictional programming language
  • ehird: 2009: The Year of the Combinatorial Explosion of Haskell Web Frameworks. Also, the Linux Desktop.
  • ehird: [on the previous quote] Someone re-remember that quote when lambdabot's back so I don't have to and thereby look egotistical, thanks
  • luqui: Hmph! My program which uses unsafeCoerce everywhere is not working properly! Who'd have thought...

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: January 31, 2009

Submitted by byorgey on Sat, 01/31/2009 - 9:04am.
Haskell Weekly News: January 31, 2009

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

Announcements

HDBC v2.0 now available. John Goerzen announced that HDBC v2.0 is now available. Simultaneously, HDBC-sqlite3, HDBC-postgresql, and HDBC-odbc v2.0 have also been uploaded to Hackage. A guide to new features and migration can be found here.

Extensible and Modular Generics for the Masses: emgm-0.2. Sean Leather announced the second major release of Extensible and Modular Generics for the Masses (EMGM), a library for generic programming in Haskell using type classes and a sum-of-products view. Improvements over emgm-0.1 include type representation derivation using Template Haskell, documentation improvements, a bimap function, and more.

incremental-sat-solver. Sebastian Fischer announced the incremental-sat-solver library, which provides an implementation of the Davis-Putnam-Logemann-Loveland algorithm for the Boolean satisfiability problem. It not only allows solving Boolean formulas in one go, but also adding constraints and query bindings of variables incrementally.

data-spacepart - space partitioning data structure[s] (initial release). Corey O'Connor announced the data-spacepart package, the goal of which is to be a collection of space partitioning data structures. Currently, there is only a simple quadtree implementation.

Wired 0.2. Emil Axelsson announced a new release of Wired. The most important news in this release is that it now contains a 45nm cell library, which means that you can use Wired to create and analyze modern VLSI designs today!

CFP Haskell Symposium 2009. Stephanie Weirich announced a call for papers for the 2009 Haskell Symposium in Edinburgh, Scotland. The deadline for submissions is May 8.

testpack (first release). John Goerzen announced the release of testpack, a collection of a few utilities for tests: some tools to convert QuickCheck properties into HUnit test cases, and various shortcuts and tools to increase verbosity while running tests in both QuickCheck and HUnit.

convertible (first release). John Goerzen announced a new package, convertible. At its heart, it's a very simple typeclass that's designed to enable a reasonable default conversion between two different types without having to remember a bunch of functions. The return type from this conversion is "Either ConvertError a", and conversions are expected to do sanity checking (such as bounds checking when converting to types like Int), so as to produce neither garbage nor exceptions as part of the conversion process. The package also includes instances of the Convertible typeclass for common type conversions. working with numeric types as well as dates and times. Notably, it has code to convert between System.Time types and their Data.Time siblings, and vice versa, a capability I found annoyingly lacking in the standard library.

Progress with IDE. Juergen Nicklisch-Franken announced that the Leksah 0.4.0 pre-release is now available. Current features include a Haskell customized editor with candy, project management support based on Cabal, a visual editor for Cabal files, navigation aids, a module browser, session support, and more.

Hayoo! beta 0.3. Timo B. announced the next beta version 0.3 of Hayoo!, the Haskell API search engine with find-as-you-type and suggestions. Hayoo! now works even if your browser does not support JavaScript.

DecisionTree 0.0. Adrian Neumann announced the DecisionTree package, which provides an implementation of the ID3 algorithm and can be used to classify data with discrete valued attributes.

orchid-0.0.7. Sebastiaan Visser announced a new release of Orchid, just another Haskell Wiki. This release features a number of improvements, including a filestore backend, searching, deleting and renaming support, and more. Check out the demo.

gitit 0.5. John MacFarlane announced the latest release of Gitit, the multitalented distributed wiki written in Haskell. This release uses the filestore library and hence also supports a darcs backend, and also features optimizations, better search, better diffs, and more. You can check out a running example.

filestore 0.1. Gwern Branwen announced filestore 0.1, which provides a uniform, abstract, generic interface for storing versioned files on disk. It allows calling programs to use generic commands to store strings or binary data and perform various queries, such as 'what files are in this repository?' or 'what were the contents of this file at revision XXXXXXX?' or 'give me a diff of this file between revision XXXXXXX and revision YYYYYYY.' Because the interface is abstract, the calling program is insulated from the messy details of the backend (which might be a VCS or a database). Darcs and Git are fully supported. There are plans for a SQLite backend.

Scurry :: A cross platform (if you put your mind to it) P2P VPN. John Van Enk announced the release of Scurry, a P2P VPN application written in Haskell (and a little C).

Discussion

Why binding to existing widget toolkits doesn't make any sense. Achim Schneider began an interesting discussion on the proper approach to GUI toolkits in Haskell.

Laws and partial values. Henning Thielemann began a long thread on the semantics of laws (such as the monoid laws).

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • lilac: is happpy with his infinite type. it's ducks all the way across and down.
  • Gracenotes: You are likely to be eaten by a poset
  • RossMellgren: Apparently 64-bit GHC is sufficiently advanced to be indistinguishable from magic.
  • cjb: It's all fun and games until somebody loses an IOVar.
  • sigfpe: If I took some Ritalin, maybe I could write an entire book on Haskell and algebra.
  • ddarius: Nothing is evaluated until it is.

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: January 24, 2009

Submitted by byorgey on Sat, 01/24/2009 - 10:04am.
Haskell Weekly News: January 24, 2009

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

Announcements

Monoids and fingertrees. Heinrich Apfelmus posted a nice tutorial explaining the monoid magic behind 2-3 fingertrees.

STM-IO-Hooks-0.0.1. Peter Robinson announced the stm-io-hooks library, which provides an STM monad with commit and retry IO hooks. A retry-action is run (once) in a separate thread if the transaction retries, while commit-actions are executed iff the transaction commits. The code is based on the AdvSTM monad by Chris Kuklewicz, but in addition also ensures some atomicity guarantees for commit-actions.

1000 libraries. Don Stewart announced that Hackage has now reached 1000 packages!

HTTP-4000.0.4 released. Sigbjorn Finne announced that a new release of HTTP, version 4000.0.4, is now available. The main change is the addition of registering a Browser event handler for capturing state changes to the request-response processing pipeline.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • Jonathan Cast: [on advertising for Haskell programmers and informing them that the codebase is actually in Perl at the interview] <Andrew Wagner> That's......evil. <Jonathan> I know. I'm evil too, though. So it's cool.
  • rwbarton: A type class is not a type just like a dog house is not a dog.
  • SPJ: [This is] clearly not a bug in GHC; but it would be more felicitous if it gave you a warning...
  • Gracenotes: > let o_o = 0.0 ;o' =(, ); ;o (*)=(*) ;( lol, xD :p )= o' o' $o.o$ (:[]) $o.o$ (:[]) o_o in (:[]) o_o :p
  • Cale: I plan on forming a symbiotic relationship with sandtrout, which, as they merge with my body, will sustain me as I slowly turn into a sandworm, and make use of my billions of other memories and prescience to rule over everyone and everything for millenia.
  • quicksilver: or in Java, we'd make it more generic by using a PolynomialDivisionOperatorFactory.
  • roconnor: I was going to read about laziness, but I decided to do it later, when I need to understand it.

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: January 19, 2009

Submitted by byorgey on Mon, 01/19/2009 - 2:43pm.
Haskell Weekly News: January 19, 2009

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

Gee whiz, people, stop being so darn productive or you're going to burn me out. Seriously.

Announcements

curl-1.3.4. Sigbjorn Finne announced that a new version of curl, a complete Haskell binding to the libcurl API, is now available and have been uploaded to Hackage. The most notable change is the overloading of representation of response buffers (and headers), allowing for the use of ByteStrings.

Turbinado V0.4. Alson Kemp announced the release of version 0.4 of Turbinado, an easy to use Model-View-Controller-ish web framework for Haskell. Highlights for the 0.4 release include a dramatically improved ORM which handles foreign keys, and improved documentation.

Hackage about to reach 1000 releases. Don Stewart announced that Hackage is about to reach the 1000 release mark, 2 years after it went live. Some pretty charts can be seen here.

leapseconds-announced-2009. Bjorn Buckwalter announced the release of the leapseconds-announced package, which contains a single module and a single function implementing the Data.Time.Clock.TAI.LeapSecondTable interface.

zipper-0.1. Andres Loeh announced zipper-0.1, a library offering a generic zipper for systems of recursive datatypes.

multirec-0.2. Andres Loeh announced multirec-0.2, a library which provides a mechanism to talk about fixed points of systems of datatypes that may be mutually recursive. On top of these representations, generic functions such as the fold or the Zipper can then be defined.

ghci-haskeline 0.1. Judah Jacobson announced the first release of ghci-haskeline. This package uses the GHC API to reimplement ghci with the Haskeline library as a backend. Haskeline is a library for line input in command-line programs, similar to readline or editline, which is written in Haskell and thus (hopefully) more easily integrated into other Haskell programs.

The Monad.Reader (13) - Call for copy. Wouter Swierstra announced a Call for Copy for Issue 13 of The Monad.Reader. The submission deadline is February 13, 2009. Please get in touch with Wouter if you intend to submit something.

Cabal 2.0. Duncan Coutts announced that he has started a wiki page to collect ideas for Cabal 2. The basic idea for Cabal 2 is to learn lessons from our how the existing design has fared and how we can make a better design to tackle an expanded set of goals.

Announcing Haskell protocol-buffers 1.4.0 (the smashing recursive edition). Chris Kuklewicz announced version 1.4.0 (the smashing recursive edition) of protocol-buffers, a Haskell interface to Google's "..language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more."

Haskell WikiProject. Robin Green asked: is anyone else interested in forming a Haskell WikiProject on Wikipedia, to collaborate on improving and maintaining the coverage and quality of articles on Haskell-related software and topics (broadly defined)?

darcs 2.2.0. Petr Rockai announced the release of darcs 2.2.0, with both a source tarball and a cabalized tarball available. This version features many improvements and bug fixes; see Petr's original announcement for a list.

hledger 0.3. Simon Michael announced the release of hledger 0.3, a partial haskell clone of John Wiegley's "ledger" text-based accounting tool. It generates transaction and balance reports from a plain text ledger file, and demonstrates a functional implementation of ledger.

language-sh-0.0.3.1. Stephen Hicks announced the language-sh package, a set of modules for parsing, manipulating, and printing sh-style shell scripts. It's being developed alongside shsh, the Simple Haskell Shell.

Coadjute 0.0.1, generic build tool. Matti Niemenmaa announced version 0.0.1 of Coadjute, a generic build tool intended as an easier to use and more portable replacement for make.

dataenc 0.12. Magnus Therning announced version 0.12 of dataenc, a data encoding library currently providing Uuencode, Base64, Base64Url, Base32, Base32Hex, Base16, Base85, and (new in 0.12) yEncoding.

3 applications of "indexed composition" as a language design principle. Greg Meredith announced that he has found a way to generalize the LogicT transformer, and calculated it's application to three fairly interesting examples.

HTTPbis / HTTP-4000.x package available. Sigbjorn Finne announced the availability of a modernization of the venerable and trusted HTTP package. The headline new feature of this version is the parametrization of the representation of payloads in both HTTP requests and responses; two new representations are supported, strict and lazy ByteStrings.

monad-interleave 0.1. Patrick Perry announced the monad-interleave package, which provides a type class generalizing his two favorite functions in Haskell, "unsafeInterleaveIO" and "unsafeInterleaveST".

hs-dotnet, version 0.3.0. Sigbjorn Finne announced the first public release of hs-dotnet, a pragmatic take on interoperating between Haskell (via GHC) and .NET.

HEADS UP: finalizer changes coming in GHC 6.10.2. Simon Marlow announced that, by popular demand, GHC 6.10.2 will support finalizers that are actually guaranteed to run, and run promptly. However, there's a catch. If you want to know what the catch is, read his message.

split-0.1.1 (doc bugfix; new functions wordsBy and linesBy). Brent Yorgey announced version 0.1.1 of the split library. This version fixes some Haddock bugs, and adds two new convenience functions suggested by Neil Mitchell, wordsBy and linesBy.

json-0.4.1. Sigbjorn Finne announced a new release (0.4.1) of the json package. New in this release is a generic JSON encoder contributed by Lennart Augustsson along with a number of other, smaller changes.

haskell-platform mailing list. Duncan Coutts announced that anyone interested in helping out with the haskell platform project is invited to subscribe to the haskell-platform mailing list. This mailing list is for discussing practical stuff; policy questions will be discussed on the libraries mailing list.

bytestring-trie 0.1.4. wren ng thornton announced version 0.1.4 of the bytestring-trie package. This release fixes a number of bugs, adds functions such as keys, toListBy, fromList{L,R,S}, and separated Data.Trie (the main module for users) from Data.Trie.Internal (gritty details, and core implementation).

HLint 1.2. Neil Mitchell announced HLint version 1.2, a lint-like tool for Haskell that detects and suggests improvements for your code. The biggest new feature is list recursion suggestions.

Working with HLint from Emacs. Alex Ott announced an emacs module for integration with HLint.

Discussion

An Alternative Data.List.Zipper. Jeff Wheeler posted an improved version of Data.List.Zipper, and requested feedback or constructive criticism.

Comments from OCaml Hacker Brian Hurt. John Goerzen posted a link to a blog post by Brian Hurt, along with some thoughts about naming things in the standard libraries, spawning the longest ML thread in recent history.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • luqui: sigh: mathematicians. can't live with 'em, can't prove 'em wrong.
  • mauke: YO DAWG I HEARD YOU LIKE METACIRCULARITY SO WE PUT AN INTERPRETER IN YOUR INTERPRETER SO YOU CAN RUN CODE WHILE YOU RUN CODE
  • lament: tuples are proof that haskell is inherently broken and will never work.
  • roconnor: [after a long -cafe thread on the suckiness of using math terms in Haskell] we don't use Integer anymore. Too abstract. It is now called CountingThingy.
  • quicksilver: partially applied type synonym = type lambdas = unrestricted type functions = can of pants
  • ddarius: In the spirit of that article on monoids, we should drop the term "tree" and replace it with the term "free pointed magma"
  • ski_: unique among types, 'Void -> X' has its own charm. tourists should definitly pay a visit.
  • pao: Cale: thanks ... I really think you deserve a statue ... or, at least, a portrait in ascii art on haskell.org :-)
  • byorgey: TDD replaces a type checker in Ruby in the same way that a strong drink replaces sorrows.

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: January 10, 2009

Submitted by byorgey on Sun, 01/11/2009 - 8:28am.
Haskell Weekly News: January 10, 2009

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

Welcome to the 100th (!) issue of the Haskell Weekly News, suitably published on your friendly neighborhood HWN editor's 1000th birthday (base 3). If you ever have content to be included in the HWN (announcements, blog posts, major life news) or a suggestion on how the HWN could be more useful to you as a window into the goings-on of the Haskell community, please don't hesitate to send it along, using the contact information at the end of each issue.

Announcements

Haskell BLAS bindings version 0.7. Patrick Perry announced the release of version 0.7 of the blas package, Haskell bindings to the BLAS (Basic Linear Algebra Subprograms) library. According to Patrick, this release is "a major milestone---it is finally the library with all of the features that I want."

X Haskell Bindings. Antoine Latter announced a preview release of the X Haskell Bindings. The goal of the library is to provide low-level access to the X11 protocol, in the spirit of the X C Bindings.

Data.TCache 0.5.5. Alberto G. Corona announced the 0.5.5 release of the TCache package, a transactional data cache with configurable persistence. This version adds the the capability to safely handle transactions, and incrementally serialize many data types simultaneously in the same piece of code.

haskell-src-exts 0.4.8. Niklas Broberg announced a new release (0.4.8) of the haskell-src-exts package. This is a bug-fix release in the wake of the flurry of bug reports due to hlint.

bytestring-trie 0.1.2 (bugfix). wren ng thornton announced a bugfix release for bytestring-trie, efficient finite maps from (byte)strings to values. This release fixes a bug in alterBy, and adds an Eq instance.

wxHaskell 0.11.1. Jeremy O'Donoghue announced the release of wxHaskell 0.11.1, a Haskell binding for the wxWidgets GUI library. The main highlights include support for XRC resource files, support for wxWidgets 2.8.x and GHC 6.10, and preliminary support for Cabal and Hackage.

cabal2doap 0.1. Greg Heartsfield announced the release of Cabal2doap, which generates Description of a Project (DOAP) XML/RDF data representing a Haskell project. This should make it possible for semantic web project aggregation sites to find and index Haskell projects.

Jobs

Jane Street is hiring functional programmers. Yaron Minsky reminded everyone that Jane Street is still hiring! Jane Street now has over 30 OCaml developers, and is actively looking to hire more in Tokyo, London and New York.

PhD, postdoc, and engineering positions at HATS. CFP announced the availability of 10 PhD, postdoc, and engineering positions within the HATS project (Highly Adaptable and Trustworthy Software using Formal Models), a new Integrated Project funded by the European Union, within the programme "Future and Emerging Technologies" (FET). The goal of HATS is a tool-supported framework and formal methodology for the development of long-lived and trustworthy software systems.

Hypothetical Haskell job in New York. Tony Hannan asked how many would be interested in applying to a hypothetical Haskell job in New York, assuming his boss can be convinced to use Haskell.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • jml: A wise man once said, "the program isn't debugged until the last user is dead".
  • pumpkin: OMG I <3 RECORD SYNTAX
  • Olathe: <Olathe> > floor (1.0/0.0) <lambdabot> 179769... <Olathe> But you can see that Haskell can calculate the maximum Integer.
  • lilac: <drdozer> gha! I'm drowning in the haskell number hierarchy again <lilac> drdozer: magic 8-ball says 'add calls to fromIntegral'
  • monopoly: do not exit IO. go directly to the REPL, do not pass any parameters or continuations.
  • EvilTerran: [on category theory] the same place of nightmares that spawned zygohistomorphic prepromorphisms :P

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: January 3, 2009

Submitted by byorgey on Sat, 01/03/2009 - 12:20pm.
Haskell Weekly News: January 03, 2009

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

Happy new year to all! May 2009 be a year full of joy, family, friends, professional success, much Haskell hacking, and a minimal number of rabid weasels. Just in case.

Announcements

#haskell IRC channel reaches 600 users. Don Stewart announced that 7 years after its inception, under the guiding hand of Shae Erisson (aka shapr), the #haskell IRC channel on freenode has reached 600 concurrent users!

citeproc-hs-0.2. andrea rossato announced the release of citeproc-hs-0.2, a Haskell implementation of the Citation Style Language, which adds a Bibtex like citation and bibliographic formatting and generation facility to pandoc. This version adds support for citation collapsing, a wrapper around hs-bibutils, and some API documentation.

hs-bibutils-0.1. andrea rossato announced the first release of hs-bibutils, Haskell bindings to Chris Putnam's bibutils. Bibutils is a library and a set of bibliographic utilities to interconvert between various bibliography database formats using a common MODS-format XML intermediate.

Haskell koans. Gwern Branwen issued an RFK (Request for Koans), following the success of his CFH (Call for Haiku).

[ANN] Haskell web server + wiki: salvia-0.0.4 + orchid-0.0.6. Sebastiaan Visser announced the release of three new packages: salvia, a lightweight modular web server framework; orchid, a(nother) wiki written in Haskell, using Darcs as a versioning back-end and Salvia as the application server; and orchid-demo, a simple demo application using Salvia and Orchid to serve an example darcs repository. You can play around with an online demo.

gitit-0.4.1, recaptcha-0.1. John MacFarlane announced the release of gitit-0.4.1, a wiki program that stores pages in a git repository. This release adds support for (optional) captchas, using the reCAPTCHA service. The reCAPTCHA code has been packaged as a separate library on Hackage, recaptcha.

monte-carlo-0.2, gsl-random-0.2.3. Patrick Perry announced the release of a new version of the monte-carlo package. The new version includes a more general type class, MonadMC, which allows all the functions to work in both MC and MCT monads; functions to sample from discrete distributions, and functions to sample subsets. There is also a quick tutorial.

Reading group for Programming Collective Intelligence. Creighton Hogg announced that he would like to start a small group for the O'Reilly book Programming Collective Intelligence, to work through translating some of the examples to Haskell. Email Creighton if you are interested in participating.

Maintaining laziness. Henning Thielemann announced that he has written a tutorial on how to make functions lazy and how to test whether they are actually lazy.

Request for feedback: Understanding Haskell Monads. Ertugrul Soeylemez requested feedback on a new monad tutorial.

Discussion

How do we decide on the new logo?. Fritz Ruehr began a discussion of how to go about choosing a winner of the Great 2009 Haskell Logo Contest. Weigh in if you care!

Jobs

Two Positions as Associate Professor in Software Engineering at Chalmers University. Koen Claessen announced the availability of two positions as Associate Professor at Chalmers University in Gothenburg, Sweden, within the division of Software Engineering and Technology at the department of Computer Science and Engineering. The application deadline is January 12, 2009.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • lilac: <bohdan> how do I see the number of reductions required to calculate something? <lilac> bohdan: the usual method is to ask Cale to reduce it by hand :)
  • conal: If it's purely functional, how do you *do* anything? You don't ;-)
  • ddarius: The opposite ends of CS meet in the Haskell world.
  • EvilTerran: forcedYet :: a -> Bool; forcedYet x = x `seq` True -- :P
  • bmh: I dream in folds. One day I'll dream in monads.
  • sclv: dreaming is a monad.

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: December 25, 2008

Submitted by byorgey on Thu, 12/25/2008 - 12:25pm.
Haskell Weekly News: December 25, 2008

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

Happy holidays! An exciting HWN for you this week, including a number of cool new libraries, the public release of Cryptol, a Haskell logo contest, and the second most awesome GHC bug ever (see augustss's quote at the end of the Quotes section for the most awesome GHC bug ever).

Announcements

Hieroglyph 0.85. Jeff Heard announced that the Thingie library has been renamed Hieroglyph, and now has support for displaying images on the Cairo canvas.

Cryptol now freely available. Don Stewart announced that Cryptol, the language of cryptography, is now available to the public! Cryptol is a domain specific language for the design, implementation and verification of cryptographic algorithms, developed over the past decade by Galois for the United States National Security Agency. It has been used successfully in a number of projects, and is also in use at Rockwell Collins, Inc. Cryptol is implemented in Haskell.

Control.Monad.IfElse. Jeff Heard announced the Control.Monad.IfElse module, which provides useful anaphoric and monadic versions of if-else and when.

llvm-0.4.0.1. Lennart Augustsson announced version 0.4.0.1 of the release that is quite incompatible with the old 0.0.2 release.) Haskell LLVM bindings. LLVM is a virtual machine and the bindings allow you to generate code for this virtual machine. This code can then be executed by a JIT or written to a file for further processing by the LLVM tools.

bytestring-trie 0.1.0. wren ng thornton announced the release of bytestring-trie 0.1.0, an efficient finite map from (byte)strings to values. The implementation is based on big-endian patricia trees, like Data.IntMap.

RWH book club. Don Stewart announced that Matt Podwysocki has set up a Real World Haskell book club, a mailing list on google groups with already some 200 members discussing typical new user Haskell questions. Feel free to join if you like talking about Haskell, or teaching new users.

Thingie-0.80. Jeff Heard announced the release of Thingie, a library for creating 2D visualizations in a purely functional manner. It supports static visualizations and animation, and like most vis libraries, can probably do games as well as simple viz graphics.

typehash version 1.3. Lennart Augustsson announced the release of the typehash library, which allows you to produce a unique identifier (a cryptographic hash) for a type. This is useful if you save values of some type to a file (text, binary, whatever format you wish) and then when you read it back in again you want to verify that the type you want to read is the one you actually wrote. The library also supports type codes, which encode the complete structure of a type and can be used for finer comparison than just equality.

uvector-algorithms 0.1. Dan Doel announced the release of uvector-algorithms, a library of algorithms (mostly sorting) for the mutable arrays defined in uvector. It has several varieties of sorting, including introsort (quicksort which falls back on heapsort in bad cases), heapsort, a simple top- down merge sort and a radix sort. Also exposed are the operations that allow you to use the arrays as heaps and a combinator for safely using these mutable array algorithms to sort immutable arrays. All algorithms have been painstakingly profiled and optimized.

Data.List.Split. Brent Yorgey announced the release of Data.List.Split, which provides a wide range of strategies and a unified combinator framework for splitting lists with respect to some sort of delimiter.

Hoogle with more libraries. Neil Mitchell announced that Hoogle will now search lots of the libraries present on hackage!

HLint 1.0. Neil Mitchell announced the re-release of HLint, a tool for making suggestions to improve your Haskell code. Previously this tool was called Dr Haskell and depended on a working installation of Yhc; now it depends on GHC 6.10.1.

rangemin-1.0. Louis Wasserman announced the release of rangemin, a library for efficiently preprocessing an array to find minimum elements of subranges of the array in constant time.

Discussion

length of module name affecting performance??. Daniel Gorín reported a GHC bug where in certain cases, changing the name of a module to something longer results in a 2x-3x performance hit! Strange but true.

Time for a new logo?. Don Stewart proposed a competition to produce a new Haskell logo! Submissions should go on the wiki page; the deadline for logo submissions is December 31.

Pattern combinators. Andrew Wagner started a thread turning a paper on pattern-matching in Haskell into actual code for hackage.

Coroutines. Ryan Ingram posted some interesting code showing how to implement coroutines with session types.

Type wildcards. Eyal Lotem proposed a 'type wildcards' extension to the language.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • luqui: no!!! I was building a joke, but then I sent it before I thought of one.
  • roconnor: We put up a clothes line and made a turing machine by hand at a party once ... that is the sort of parties I go to.
  • cjs: In what other language could I have learned so much about Win32 programming (summary: basically, the Windows 3.0 API but with all sorts of hacks to deal with having more than one thread in the system), and come out having *enjoyed* myself? Praise to the Lord!
  • PaulJohnson: A paradox of the Haskell world is that, while the language is Vulcan, the community around it is dominated by Warm Fuzziness. Clearly the two are not mutually exclusive.
  • Botje: Caleskell even has unsafeSolveHaltingProblem?
  • Taejo: * Taejo needs to write Sitar Hero in Yampa
  • dons: it is safer for incompetent people to be working in Haskell than C++.
  • mpeter: the quality of my code increased drastically when i realized i should stop telling the computer to do things which were stupid.
  • byorgey: <Cale> RandomT/Random are effectively state monads. (in fact, they're thin candy shells around StateT/State.) <byorgey> "newtype: melts in the compiler, not in your hands"
  • quicksilver: [on classes having the same name as constructs in other languages] it's like having a laxative called "after dinner mint", and people being upset when they were looking for something nice to eat after dinner.
  • quicksilver: #haskell is a loquacracy!
  • quicksilver: It's also the same thing as the Yoneda lemma. That's the thing about maths. Everything is actually the same.
  • hugo: i feel like i was drugged with imperative programming, and now im in rehab.
  • chrisdone: yo dawg we heard you like haskell so we installed a lambdabot in your ghci so you can monad while you monad
  • augustss: ghc had a bug once where it deleted the source file if it had a type error. Quite sensible, I think.

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: December 13, 2008

Submitted by byorgey on Sat, 12/13/2008 - 11:54am.
Haskell Weekly News: December 13, 2008

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

Lots of neat blog posts and funny quotes this week. Don't forget to keep adding haiku to the wiki, and don't miss Alex McLean (yaxu)'s streaming livecoding performance tonight!

Announcements

Spam on HaskellWiki. Ashley Yakeley asked what people would like to do about the increasing amounts of spam on the Haskell wiki, and offered some suggestions.

The Timber compiler 1.0.2. Johan Nordlander announced the first public release of the Timber compiler. Timber is a modern language for building event-driven systems, based around the notion of reactive objects. It is also a purely functional language derived from Haskell, although with a strict evaluation semantics. To try it out, just grab the timberc package on Hackage.

Retrospective on 2008?. Don Stewart proposed the idea of a 2008 retrospective. How would you choose the 10 best new libraries, applications, blog posts, etc. of 2008?

a haskell_proposals subreddit. Jason Dusek announced a subreddit for Haskell library proposals. The idea is that Web 2.0 will help us to allocate our collective talents more efficiently when it comes to extensions (and perhaps clue us in when our pet project is something people really want).

permutation-0.2. Patrick Perry announced a new version of the permutation library, which includes data types for storing permutations. It implements pure and impure types, the latter which can be modified in-place. The main utility of the library is converting between the linear representation of a permutation to a sequence of swaps. This allows, for instance, applying a permutation or its inverse to an array with O(1) memory use.

Data.List.Split. Brent Yorgey announced the creation of a wiki page for Data.List.Split, a hypothetical module containing implementations of every conceivable way of splitting lists known to man, so we no longer have to (1) argue about the 'one true' interface for a 'split' function, or (2) be embarrassed when people ask why there isn't a split function in the standard libraries. Please add code or comments! At some point it will be uploaded as a new module to Hackage.

Announcing Haskell protocol-buffers version 1.2.2. Chris Kuklewicz announced new versions of protocol-buffers, protocol-buffers-descriptor, and hprotoc.

Discussion

A curious monad. Andrew Coppin exhibited an interesting Storage monad, which (it turns out) is similar to ST. An enlightening discussion if you want to understand how ST works and the motivation behind it.

Origins of '$'. George Pollard asked about the origins of the $ operator (low-precedence function application) in the standard libraries, leading to some interesting history and general discussion about notation.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • quicksilver: Baughn: glFlush? the 80s called, they want your programs back?
  • gwern: the best way to optimize a program is to make it lazier or stricter.
  • ksf: Perl is obfuscated by design, haskell is designed by obfuscation.
  • conal: omg -- i can print right from emacs again. praise be to Linux!
  • mmorrow: [I] didn't realize what it really said until after i @remembered it
  • blackh: Haskell is great because of all the wonderful things you can't do with it.
  • JustinBogner: gitit's 46 dependencies convinced me to install cabal-install, and now I couldn't be happier!
  • Anonymous: I'd love to explain to you how to write hello world in Haskell, but first let me introduce you to basic category theory.
  • lilac: @type \o-> look at my muscles <lambdabot> forall t nice muscles. t -> nice -> muscles
  • ook: (:[])
  • oink: <^(oo)^>
  • mmorrow: {-# RULES "HAI; CAN HAS STDIO?" id = unsafePerformIO (system "killall -9 breathingMachine && xeyes &" >> return id) #-}
  • gwern: We will be welcomed as liberators! I estimate that we will need 50000 haskellers at most and will be able to wind up the occupation quickly

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: December 6, 2008

Submitted by byorgey on Wed, 12/10/2008 - 6:33pm.
Haskell Weekly News: December 06, 2008

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

Announcements

Haskell haikus. Gwern Branwen announced that he has collected all known haikus about Haskell and put them on a wiki page. Add more!

Platforms that GHC supports. Simon Peyton-Jones linked to a new page clearly articulating what platforms GHC supports, and what platforms its maintainers would like it to support. If you're interested and willing to help sponsor a "Tier 2" platform, let them know!

Using Data Parallel Haskell. Manuel Chakravarty announced a new wiki page with documentation for Data Parallel Haskell.

DrHylo 0.0.1. Hugo Pacheco announced the release of DrHylo, a tool for deriving hylomorphisms from a restricted Haskell syntax. It is based on the algorithm first presented in the paper Deriving Structural Hylomorphisms From Recursive Definitions at ICFP'96 by Hu, Iwasaki, and Takeichi. The generated code can be run with Pointless Haskell, allowing the visualization of the recursion trees of Haskell functions.

pointless-haskell 0.0.1. Hugo Pacheco announced the release of Pointless Haskell, a library for point-free programming with recursion patterns defined as hylomorphisms, inspired in ideas from the PolyP library. The re-implementation of the library using type functions (in opposition to classes with functional dependencies) enables a type-level view of data types as the fixed points of functors and provides a better experience to the users in terms of code sanity. The library also features the visualization of the intermediate data structure of hylomorphisms with GHood.

Projects that depend on the vty package?. Corey O'Connor asked whether there are any other projects that depend on the vty package. If so, let him know! The package also has a new trac and wiki.

haskell-src-exts 0.4.4. Niklas Broberg announced the release of haskell-src-exts 0.4.4, which adds support for pragmas.

ChristmasTree 0.1. S. Doaitse Swierstra announced the release of the ChristmasTree package, which stands for "Changing Haskell's Read Implementation Such That by Manipulating Abstract Syntax Trees it Reads Expressions Efficiently".

TTTAS. S. Doaitse Swierstra announced the release of TTTAS, a library for typed transformations of typed abstract syntax.

GHood. Hugo Pacheco announced that GHood, a graphical backend for the lightweight Hood Haskell debugger, has now been released as a Cabal package.

Discussion

Animated line art. Andrew Coppin asked for ideas on writing Haskell to generate some animations.

Jobs

Scala job in Boston writing quantitative finance software. Paul Chiusano announced that ClariFI is looking to hire developers with a strong background in functional programming to do a mixture of Scala and Java programming. ClariFI is a small company (about 15 developers) that specializes in software for quantitative investment management. This position is for the Boston office. If you're interested, send him an email.

Blog noise

Haskell news from the blogosphere.

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: November 30, 2008

Submitted by byorgey on Sun, 11/30/2008 - 7:55pm.
Haskell Weekly News: November 30, 2008

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

Real World Haskell is finally here! Read it online, and/or get your own dead tree copy. Better yet, get two copies, one for yourself and one for a friend. The fifteenth Haskell Communities and Activities Report is also here---check out all the exciting stuff being worked on in the Haskell world!

Announcements

HCAR. Janis Voigtlaender announced the 15th edition of the Haskell Communities and Activities Report (HCAR) is now available!

Not quite another Haskell tutorial, but .... Janis Voigtlaender announced that he submitted his Habilitation thesis last week. The first few chapters of it try to give an introduction to Haskell with emphasis on types and reasoning principles.

hledger 0.2. Simon Michael announced version 0.2 of [http://joyful.com/hledger hledger, a minimal haskell clone of John Wiegley's "ledger" text-based accounting tool.

darcs zlib error workaround. Eric Kow outlined workarounds and future plans for a darcs bug relating to broken CRCs in gzipped patch files. You should read this if you have installed darcs 2.1.2 via the Cabal build method.

Turbinado 0.2. Alson Kemp announced version 0.2 of Turbinado, an easy-to-use, fast web application framework.

Fun with type functions. Simon Peyton-Jones requests examples of compelling use cases for type functions: "can you tell us about the most persuasive, fun application you've encountered, for type families or functional dependencies? Simple is good. It doesn't have to be elaborate: just something that does something useful you could not have done otherwise."

Jobs

PhD Positions in Language-based Security at Chalmers. Andrei Sabelfeld announced the availability of PhD student positions in programming language-based security in the Department of Computer Science and Engineering at Chalmers University of Technology, Sweden. The application deadline is January 30, 2009.

FP Jobs. Julien Sylvestre announced several new permanent positions, based in Paris, with MLstate -- an IT company whose functional programming approach to SaaS and cloud computing has been recently recognized by the French Ministry of Research Innovation Award.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • quicksilver: I ACCIDENTALLY THE WHOLE VERB
  • dons: [on ghc's new code generation] <byorgey> so how's the new code gen better? <dons> it's got 98% less dumbs.
  • adu: source code is transient, dreams are forever.
  • monochrom: n is the nth English letter.
  • nomeata: Ah, it seems I'm creating a tuple with more than 62 elements somewhere...
  • dons: we had 15 years building ivory towers - time to throw rocks from the top!

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