Infrastructure/Utrecht-Hacking-Notes
Notes from Utrecht on future directions for packages and infrastructure
containers
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:
Improved performance:
Candidates for removal:
Function | Reason | Comment |
---|---|---|
notMember | Trivial composition of not and member | |
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 |
hackage 2
Ready Hackage 2 for use.
- Basic docs: http://hackage.haskell.org/trac/hackage/wiki/HackageDB/2.0/Architecture
- http://code.haskell.org/hackage-server
- http://sparky.haskell.org:8080/
network
network package is low level, difficult to maintain and fragile. Rewrite using design from python?
hashmaps
Based on Patricia trees and using MurmurHash.
hashtables
Fast, open addressed hashtables: useful, but relatively small ROI. Also quite complex.
text
Propose text for the HP.
platform
Generate unified docs for the HP.