Difference between revisions of "Infrastructure/Utrecht-Hacking-Notes"
DonStewart (talk | contribs) |
DonStewart (talk | contribs) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Notes from Utrecht on future directions for packages and infrastructure == |
== 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: |
||
⚫ | |||
+ | * https://patch-tag.com/r/dons/containers/home |
||
⚫ | |||
+ | Added test suite and coverage data, (increased coverage to > 50%) |
||
⚫ | |||
+ | * http://code.haskell.org/~dons/tests/containers/hpc_index.html |
||
⚫ | |||
+ | 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. |
||
− | * haddock |
||
+ | |||
+ | Improved performance. Submitted to libraries process: http://hackage.haskell.org/trac/ghc/ticket/4277 |
||
+ | |||
+ | Candidates for removal: |
||
+ | |||
+ | {| class="wikitable" |
||
+ | |- |
||
+ | ! 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 |
||
+ | | |
||
+ | |} |
||
+ | |||
⚫ | |||
+ | |||
+ | 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 package is low level, difficult to maintain and fragile. Rewrite using design from python? |
||
+ | |||
+ | === hashmaps === |
||
+ | |||
+ | Based on Patricia trees and using MurmurHash. |
||
+ | |||
⚫ | |||
+ | |||
+ | Fast, open addressed hashtables: useful, but relatively small ROI. Also quite complex. |
||
+ | |||
⚫ | |||
+ | |||
+ | Propose text for the HP. Draft now available: http://trac.haskell.org/haskell-platform/wiki/Proposals/text |
||
+ | |||
⚫ | |||
+ | |||
+ | Generate unified docs for the HP. |
Latest revision as of 08:46, 30 August 2010
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. Submitted to libraries process: http://hackage.haskell.org/trac/ghc/ticket/4277
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. Draft now available: http://trac.haskell.org/haskell-platform/wiki/Proposals/text
platform
Generate unified docs for the HP.