class Hamster::Stream
def initialize(head, &tail)
def initialize(head, &tail) @head = head @tail = tail @mutex = Mutex.new end
def tail
def tail @mutex.synchronize do unless defined?(@value) @value = @tail.call end end @value end
def initialize(head, &tail) @head = head @tail = tail @mutex = Mutex.new end
def tail @mutex.synchronize do unless defined?(@value) @value = @tail.call end end @value end