public class Trampoline extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Trampoline.Continuation<V>
Tail call return value
|
| Modifier and Type | Method and Description |
|---|---|
static <V> Trampoline.Continuation<V> |
done(V v)
return done to when last value is found
|
static <A,V> Iterable<V> |
lazy(Supplier<Trampoline.Continuation<V>> fun)
Emits a lazy Iterable recuring until stop, done, null or lack of f
|
static <V> Trampoline.Continuation<V> |
recur(Supplier<Trampoline.Continuation<V>> f)
return recur to recur withLast f and a
|
static <V> Trampoline.Continuation<V> |
seq(Supplier<Trampoline.Continuation<V>> f,
V v)
return seq to yield lazy value v, and continue withLast f a
f as null is same as done or stop, depending on v
Will behave like recur on a trampoline
|
static <V> Trampoline.Continuation<V> |
stop()
Return stop when done without a value.
|
static <V> V |
trampoline(Supplier<Trampoline.Continuation<V>> fun)
Will recur on fun until done(value)
|
public static <V> Trampoline.Continuation<V> recur(Supplier<Trampoline.Continuation<V>> f)
public static <V> Trampoline.Continuation<V> done(V v)
public static <V> Trampoline.Continuation<V> stop()
public static <V> Trampoline.Continuation<V> seq(Supplier<Trampoline.Continuation<V>> f, V v)
public static <V> V trampoline(Supplier<Trampoline.Continuation<V>> fun)
public static <A,V> Iterable<V> lazy(Supplier<Trampoline.Continuation<V>> fun)
Copyright © 2017. All rights reserved.