Difference between revisions of "Infrastructure/Utrecht-Hacking-Notes"

From HaskellWiki
Jump to navigation Jump to search
Line 28: Line 28:
 
! Reason
 
! Reason
 
! Comment
 
! Comment
|-
 
| lookupAssoc
 
| The caller already has the key
 
| Not used on Hackage
 
 
|-
 
|-
 
| notMember
 
| notMember

Revision as of 16:17, 28 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:

Candidates for removal:

Function Reason Comment
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

hackage 2

Ready Hackage 2 for use.

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.