Difference between revisions of "HacPDX/Projects"

From HaskellWiki
Jump to navigation Jump to search
(Added Category:Community)
 
(28 intermediate revisions by 8 users 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.
 
Projects you intend to tackle.
Line 15: 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
 
|}
 
|}
   
Line 20: Line 43:
 
Projects you'd consider, but depends on the interest of other attendees.
 
Projects you'd consider, but depends on the interest of other attendees.
   
{| class="wikitable"
+
{| class="wikitable
 
! Project
 
! Project
 
! Task Description
 
! Task Description
Line 61: Line 84:
   
 
==Crypto 5.0 notes==
 
==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.
TomMD's design for a digest class.
 
  +
  +
This would allow digests to be called with a simple "hash" function so long as they have an instance:
  +
 
<haskell>
 
<haskell>
  +
newtype SHA1 = SHA1 (Word32, Word32, Word32, Word32, Word32)
class Digest d s | d -> t where
 
  +
instance Digest SHA1 SHA1PartialCtx where
size :: d -> Int -- Size of a digest
 
  +
--Code goes here...
hash :: ByteString -> d
 
 
</haskell>
 
</haskell>
And similarly for block and stream ciphers.
+
And similarly for block/stream ciphers and RNGs.
  +
Also, slurp up the various other crypto libs on hackage.
 
===Other todos===
 
===Other todos===
 
* Add website and darcs repo to Crypto.cabal.
 
* Add website and darcs repo to Crypto.cabal.
Line 75: Line 102:
 
* Does the readme *really* have to be in TeX?
 
* Does the readme *really* have to be in TeX?
 
* Get a real bugtracker set up? code.haskell.org gives out trac hosting.
 
* 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].
  +
  +
  +
[[Category:Community]]

Latest revision as of 13:08, 17 December 2012

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.