// a point in a ticker sequence srecord noeq TickerPoint(TickerSequence ticker, long currentTime) { double currentPrice() { ret lookback(0); } // time = ms to look back double lookback(double time) { ret ticker.priceAtTimestamp(currentTime-time); } }