From HaskellWiki
< HacPDX
Revision as of 00:08, 28 September 2009 by JasonDagit (talk | contribs) (added what JasonDagit did during HacPDX)
Jump to: navigation, search

What we worked on

  • judy
    • Tutorials 1 and 2.
    • Brenda: Judy-like Haskell implementation. (not yet posted)
  • Testing and using criterion
  • Patches to HDBC and HDBC-sqlite3 to support multi-query execution to make the dbmigrations package work.
  • A widget library for VTY.
  • A potential new network library got started. Several aspects of design were discussed.
  • Reworking of Crypto has started, which involves replacing all [Octet] based digests and ciphers with ByteString equivalents in addition to normalizing the APIs.
  • A GUI for HUnit. It's currently feature-low, but functional. It also successfully runs its own tests.
  • Simplifed replacement for HLADSPA. Not yet posted.
  • extcore and linkcore, tools for manipulating GHC External Core.
  • [1] Performance tuning for both mainline darcs and on the Google Summer of Code branch created by Petr Rockai. The new version is much faster at recording many small files.
  • A ByteString backed version of System.FilePath to help Darcs internally when manipulating thousands of FilePaths.

Proposed Projects for HacPDX

Projects you intend to tackle.

Project Task Description Participants
Network APIs Investigate and test new APIs for potentially replacing network, network-bytestring, and network-fancy TomMD
HPDF Additional hacking and c bindings jmelesky
HUnit GUI. Maybe also text UI that isn't horrible KimWallmark
judy Fast, mutable collection types report dons

Additional Project Suggestions

Projects you'd consider, but depends on the interest of other attendees.

Project Task Description
Crypto Part I Fix up the crypto library - use bytestring, fold in pureMD5/SHA/hecc, provide a new API
PNG Work on Bart Massey's pure-Haskell PNG reading/writing library. Lots to do here.
ParseArgs Clean up and extend a bit Bart Massey's parseargs package.
TCP Service Extract and package the SMTP-style TCP server bits from Bart Massey's MiniChess server.
sqlite open_v2() Add full support for SQlite's open_v2() call to the sqlite package.
HaRe Get it compiling under ghc 6.10; cabalize it.
plugins Tests and examples seem to fail with linking errors on the latest Haskell Platform.
wxHaskell Get this to install on Arch Linux.
Kernel Modules Finish porting a Linux driver to Haskell (mostly means working on the c2hs bindings)
Whiteout I - Echo Nolan - have been working on a BitTorrent client library. It uses fun things like iteratees and STM. If anyone is interested in hearing about/working on it, I'm more than happy to give the guided tour.
Lambdabot Everyone's favorite Haskell IRC bot.

Crypto 5.0 notes

See the patch-tag.com crypto repository files Data/Digest.hs and Data/Cipher.hs for proposed Digest and Cipher typeclasses.

This would allow digests to be called with a simple "hash" function so long as they have an instance:

newtype SHA1 = SHA1 (Word32, Word32, Word32, Word32, Word32)
instance Digest SHA1 SHA1PartialCtx where
  --Code goes here...

And similarly for block/stream ciphers and RNGs. Also, slurp up the various other crypto libs on hackage.

Other todos

  • Add website and darcs repo to Crypto.cabal.
  • Use test-framework.
  • Don't build tests by default - use a flag.
  • Is dominic.steinitz@blueyonder.co.uk still the correct contact email? If not, change it in CryptoHomePage.html
  • Does the readme *really* have to be in TeX?
  • Get a real bugtracker set up? code.haskell.org gives out trac hosting.
  • Holy crap that is a lot of warnings.
  • QuickCheck 2?
  • Echo hates Darcs with a passion.

Contour Plotting

Greg is working on a plotting library at this repository.