Class/Object

scalaz

DList

Related Docs: object DList | package scalaz

Permalink

final class DList[A] extends AnyRef

Difference lists: a data structure for O(1) append on lists. Based on Data.DList, a Haskell library by Don Stewart.

A difference list is a function that given a list, returns the original contents of the difference list prepended at the given list.

This structure supports O(1) append and snoc operations on lists, making it very useful for append-heavy uses, such as logging and pretty printing.

Source
DList.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DList
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++(as: ⇒ DList[A]): DList[A]

    Permalink

    Append one list to another in constant time.

  4. def +:(a: A): DList[A]

    Permalink

    Prepend a single element in constant time.

  5. def :+(a: A): DList[A]

    Permalink

    Append a single element in constant time.

  6. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  7. def apply(xs: ⇒ IList[A]): Trampoline[IList[A]]

    Permalink
  8. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. def flatMap[B](f: (A) ⇒ DList[B]): DList[B]

    Permalink

    Map over a difference list, then flatten.

  14. def foldr[B](z: ⇒ B)(f: (A, ⇒ B) ⇒ B): B

    Permalink

    Fold over a difference list.

  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. def headOption: Option[A]

    Permalink

    Get the first element of the list, if any.

  18. def isEmpty: Boolean

    Permalink

    Tests whether list is empty.

  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. def map[B](f: (A) ⇒ B): DList[B]

    Permalink

    Map over a difference list.

  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  25. def tailOption: Option[DList[A]]

    Permalink

    Get the tail of the list, if any.

  26. def toIList: IList[A]

    Permalink

    Convert to an IList.

  27. def toList: List[A]

    Permalink

    Convert to a normal list.

  28. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  29. def uncons[B](z: ⇒ B, f: (A, DList[A]) ⇒ B): B

    Permalink

    List elimination of head and tail.

  30. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. def zip[B](bs: ⇒ DList[B]): DList[(A, B)]

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped