HacPDX/Projects
From HaskellWiki
(Difference between revisions)
m |
|||
| (42 intermediate revisions not shown.) | |||
| Line 1: | Line 1: | ||
| + | == What we worked on == | ||
| + | |||
| + | * [http://hackage.haskell.org/package/judy-0.2.1 judy] | ||
| + | ** Tutorials [http://donsbot.wordpress.com/2009/09/26/very-fast-scalable-mutable-maps-and-hashes-for-haskell/ 1] and [http://donsbot.wordpress.com/2009/09/27/fast-mutable-collections-for-haskell-more-benchmarks/ 2]. | ||
| + | ** Brenda: Judy-like Haskell implementation. (not yet posted) | ||
| + | * [http://hackage.haskell.org/package/criterion-0.1 Testing and using criterion] | ||
| + | * Patches to HDBC and HDBC-sqlite3 to support multi-query execution to make [http://hackage.haskell.org/package/dbmigrations the dbmigrations package] work. | ||
| + | * A [http://hackage.haskell.org/package/vty-ui widget library for VTY]. | ||
| + | * A potential new [http://patch-tag.com/r/TomMD/network/ network] library got started. Several aspects of design were discussed. | ||
| + | * Reworking of [http://patch-tag.com/r/wchogg/crypto Crypto] has started, which involves replacing all [Octet] based digests and ciphers with ByteString equivalents in addition to normalizing the APIs. | ||
| + | * A [http://patch-tag.com/r/kwallmar/hunit_gui/home GUI for HUnit]. It's currently feature-low, but functional. It also successfully runs its own tests. | ||
| + | * Simplifed replacement for HLADSPA. Not yet posted. | ||
| + | * [http://hackage.haskell.org/package/extcore extcore] and [http://hackage.haskell.org/package/linkcore linkcore], tools for manipulating GHC External Core. | ||
| + | * [http://darcs.net/] 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 == | == Proposed Projects for HacPDX == | ||
| + | Projects you intend to tackle. | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 14: | Line 31: | ||
| jmelesky | | jmelesky | ||
|- | |- | ||
| + | | HUnit | ||
| + | | [http://patch-tag.com/r/hunit_gui/home GUI]. Maybe also text UI that isn't horrible | ||
| + | | KimWallmark | ||
| + | |- | ||
| + | | [http://hackage.haskell.org/package/judy judy] | ||
| + | | Fast, mutable collection types [http://donsbot.wordpress.com/2009/09/26/very-fast-scalable-mutable-maps-and-hashes-for-haskell/ report] | ||
| + | | dons | ||
|} | |} | ||
| + | |||
| + | == Additional Project Suggestions == | ||
| + | Projects you'd consider, but depends on the interest of other attendees. | ||
| + | |||
| + | {| class="wikitable | ||
| + | ! 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 [http://hackage.haskell.org/package/parseargs parseargs] package. | ||
| + | |- | ||
| + | |TCP Service | ||
| + | |Extract and package the SMTP-style TCP server bits from Bart Massey's [http://wiki.cs.pdx.edu/forge/imcs.html MiniChess] server. | ||
| + | |- | ||
| + | |sqlite open_v2() | ||
| + | |Add full support for SQlite's open_v2() call to the [http://hackage.haskell.org/package/sqlite 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) | ||
| + | |- | ||
| + | | [http://github.com/enolan/whiteout 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 [http://patch-tag.com/r/crypto/snapshot/current/content/pretty/Data/Digest.hs Digest] and [http://patch-tag.com/r/crypto/snapshot/current/content/pretty/Data/Cipher.hs Cipher] typeclasses. | ||
| + | |||
| + | This would allow digests to be called with a simple "hash" function so long as they have an instance: | ||
| + | |||
| + | <haskell> | ||
| + | newtype SHA1 = SHA1 (Word32, Word32, Word32, Word32, Word32) | ||
| + | instance Digest SHA1 SHA1PartialCtx where | ||
| + | --Code goes here... | ||
| + | </haskell> | ||
| + | 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 [http://people.oregonstate.edu/~benisong/finite-state-machine/ this repository]. | ||
Revision as of 06:05, 30 September 2009
Contents |
1 What we worked on
- judy
- 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.
2 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 |
3 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. |
4 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.
4.1 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.
5 Contour Plotting
Greg is working on a plotting library at this repository.
