sealed abstract
class
IStream[A] extends AnyRef
Value Members
-
final
def
!!(other: IStream[A]): IStream[A]
-
final
def
!:(a: A): IStream[A]
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
#:(a: Name[A]): IStream[A]
-
final
def
:!(other: A): IStream[A]
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
foldLeftByName[B](z: B)(f: (⇒ B, ⇒ A) ⇒ B): B
-
final
def
foldRightByName[B](z: ⇒ B)(f: (⇒ A, ⇒ B) ⇒ B): B
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
def
headMaybe: Maybe[A]
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
reverse: IStream[A]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
A linked list with by-name head and tail, allowing some control over memory usage and evaluation of contents.
This structure is a good choice when the contents are expensive to calculate and may not all need to be evaluated, at the cost of an overhead when the contents are calculated. Typeclass instances try to defer evaluation of contents, unless it would require a full traversal of the spine, preferring lazy semantics when an evaluation choice is to be made.