strcat and I have been casually brainstorming about container traits.
Has there been previous discussion about standardizing a container trait
hierarchy and method naming convention?
Below is a rough sketch of a simple container framework, inspired by
Scala, Python, and C++ STL. Scala has a well-organized trait hierarchy,
but I'm partial to C++ STL's method names because they are short and
consistent. :)
* trait Container
* trait Iterable?
* trait Map
* struct LinearMap (and any future hash-based maps)
* trait OrderedMap? (range queries, forward/reverse iteration)
* struct TreeMap
* struct TrieMap?
* trait Set
* struct LinearSet (and any future hash-based sets)
* struct BitSet (includes bit op methods like flip() and to_uint())
* trait OrderedSet?
* struct TreeSet
* struct TrieSet?
* trait Seq (Sequence)
* struct Stack
* trait Queue
* trait List (or trait Deque?)
* struct Deque? (vec-based. Vec? VecDeque? "ArrayDeque"
like Java?)
* struct LinkedList
* struct PriorityQueue
Links:
* Brainstorming wiki: https://etherpad.mozilla.org/h7KjhELWXk
* Scala collections:
http://www.scala-lang.org/docu/files/collections-api/collections.html
* Python containers:
http://www.python.org/dev/peps/pep-3119/#abcs-for-containers-and-iterators
* C++ STL containers: http://en.cppreference.com/w/cpp/container
chris
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev