Notes from Utrecht on future directions for packages and infrastructure
Work underway to do general performance improvements to the containers package, based on worker/wrapper and other idioms. New repository for work on patch-tag:
Added test suite and coverage data, (increased coverage to > 50%)
Investigate certain functions, then determine if anything on Hackage uses them. If no such package is found using the Map function, remove it from the API -- 20 years and 2000 packages should be enough empirical evidence.
Added benchmarking suite:
Candidates for removal:
|lookupAssoc||The caller already has the key||Not used on Hackage|
|notMember||Trivial composition of not and member|
|find||Unsafe. Also has an operator with the same functionality|
|findWithDefault||Should be renamed to lookupWithDefault for consistency|
|updateWithKey||The caller already has the key|
|updateLookupWithKey||The caller already has the key. updateLookup could be useful though|
|adjust||Simply calls adjustWithKey that calls updateWithKey|
|adjustWithKey||Simply calls updateWithKey|
Ready Hackage 2 for use.
- Basic docs: http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/Architecture
network package is low level, difficult to maintain and fragile. Rewrite using design from python?
Based on Patricia trees and using MurmurHash.
Fast, open addressed hashtables: useful, but relatively small ROI. Also quite complex.
Propose text for the HP.
Generate unified docs for the HP.