1 Post-Hackathon Report
This page is for listing what was done during the Hackathon. Please add a short description of what you worked on, with links to relevant blog posts, hackage packages, commits, etc.
1.1 fclabels 1.0 release
New release of the fclabels package. The new package has a lot of code and documentation cleanups, support for partial labels in the case of multi-constructor datatypes and is about 20x as fast for setting and modifying as the previous version. Thanks everyone for helping me out!
1.2 GHC and base library improvements
- Add primops for bit population count. These primops compile down to `POPCNT` instructions where available and fast fallbacks (implemented in C) otherwise.
- Add unchecked left and right bit shifts: The Data.Bits.shift method uses a branch to check if the shift amount is larger than the word size and returns 0 in these cases. This extra safety makes performance worse in bit twiddling code.
- Discussed unpacking of enums in GHC (not yet implemented).
1.3 Context synonym families
Started working on context synonym families and indexed context synonym families. We make this work by giving evidence the new kind Fact, and then allowing any type of kind Fact to appear on the left of a => arrow.
(Max Bolingbroke, Dominic Orchard and Nicholas Wu)
- use red text to report when we have a conflict (issue1681,patch646, Jeff Foster)
- support 'since' in English dates parser
- filter SSH output (issue845, Jeff Foster and Sebastian Korten)
- support arbitrary darcs command in darcs-test (Alexander Njemz)
- output ISO dates in darcs changes? (issue140, Alexander N, may be not a good idea)
- add a last regrets prompt to interactive patch selection (issue1920, patch655, Johannes Weiß)
- [in-progress] support removing changes in amend-record (issue1470, Johannes Weiß)
- A Snap-based web application that interacts with the COLE (see http://portal.acm.org/citation.cfm?id=1356080 and http://portal.acm.org/citation.cfm?id=1772965) framework for exploring compiler optimisation levels. The purpose of the web app is that collaborators can submit optimisation sequences to the COLE backend and retrieve the results when they are available after measuring.
- Git repository of the web application can be found at https://github.com/itkovian/hcole-server
1.7 GObject Introspection
- Work-in-progress binding generator for GObject-based libraries such as Gtk+ 3.
- Started switching to haskell-src-exts for code generation.
- Patches currently on the camhac branch on gitorious.
1.8 Snap Framework
- Some work has been done on the authentication Snaplet, including an (incomplete) HDBC backend for it. An early work-in-progress can be found here: https://github.com/norm2782/snap
- An example application which uses Snap 0.6 has been improved to use the authentication Snaplet. Another work-in-progress: https://github.com/norm2782/snap-guestbook
- IPv6 support. (Vlad Hanciuta)
- Further benchmarking, bug fixing to support the UTF-8 port. Progress can be found in the utf8 branch here: http://github.com/jaspervdj/text
- A "redneck naive" poker hand evaluator. Code is on github (https://github.com/fffej/HS-Poker). Hopefully intend to turn this into a poker bot playground for Haskell (Jeff / Sebastian)
- New version 1.1.0 uploaded to hackage, including support for more MPI implementations, bugfixes and general awesomness
- Upcoming Monad Reader would feature and article about parallel programming with MPI, written during the course of the hackathon (Dmitry Astapov)
Some work was done on setting up tests for HTTP. Additionally, some bugs were fixed, code was cleaned up, warnings removed and a start was made on improving the Network.Browser module.
1.13 EchoNest API
A very nascent API for accessing the EchoNest Music API http://developer.echonest.com/docs/v4/index.html . Coming to a GitHub server in the near future, as soon as it stops looking so ugly (Ian Knopke / Jose Calderon).