Scala 2

API Specification
This document is the API specification for Scala 2.


Class Summary
class BitSet
The class BitSetprovides an immutable bitset view on an int array. Instances can conveniently be created from instances of Bit indices are between 0..(capacity-1) inclusive
case private class GBLeaf [A, B]

case private class GBNode [A, B]

abstract protected class GBTree [A, B]
GBTree is an internal class used by Tree.
case private class INode [A, B]
INode is an internal class used by Tree.
case private class ITree [A, B]
ITree is an internal class used by Tree.
abstract protected class InsertTree [A, B]

class ListMap [A, B]
This class implements immutable maps using a list-based data structure. Instances of ListMap represent empty maps; they can be either created by calling the constructor directly, or by applying the function ListMap.Empty.
class ListSet [A]
This class implements immutable sets using a list-based data structure. Instances of ListSet represent empty sets; they can be either created by calling the constructor directly, or by applying the function ListSet.Empty.
class Queue [A]
Queue objects implement data structures that allow to insert and retrieve elements in a first-in-first-out (FIFO) manner.
class Stack [A]
This class implements immutable stacks using a list-based data structure. Instances of Stack represent empty stacks; they can be either created by calling the constructor directly, or by applying the function Stack.Empty.
abstract class Tree [A, B]
General Balanced Trees - highly efficient functional dictionaries.

An efficient implementation of Prof. Arne Andersson's General Balanced Trees. These have no storage overhead compared to plain unbalanced binary trees, and their performance is in general better than AVL trees.

This implementation does not balance the trees after deletions. Since deletions don't increase the height of a tree, this should be OK in most applications. A balance method is provided for those cases where rebalancing is needed.

The tree consists of entries conatining a key with an order.

When instanciating the tree an order for the keys has to be supplied.


class TreeMap [A, B]
This class implements immutable maps using a tree.
class TreeSet [A]
This class implements immutable sets using a tree.

Trait Summary
abstract trait Map [A, B]
This class extends the Map interface of collections that unambiguously map keys to values (i.e. a key is mapped to at least one value). This class defines the interface for functional map implementations relying on immutable data structures. Concrete map implementations have to provide functionality for the abstract methods in scala.collection.Map as well as for factory, update, and -.
abstract trait Set [A]
This class represents immutable sets. Concrete set implementations just have to provide functionality for the abstract methods in scala.collection.Set as well as for + and -. Note that abstract immutable.Set's are not covariant in their type parameter. This is because some subclasses cannot support the + method for arbitrary types.

Object Summary
object ListMap

object ListSet

object Queue

object Stack

object TreeMap