adamc@642: datatype list t = Nil | Cons of t * list t adamc@642: adamc@642: sequence s adamc@642: adamc@642: fun main () : transaction page = adamc@642: let adamc@642: fun getIndices srcs = adamc@642: case srcs of adamc@642: Nil => return Nil adamc@642: | Cons (src, srcs') => adamc@642: i <- nextval s; adamc@642: set src i; adamc@642: ls <- getIndices srcs'; adamc@642: return (Cons (i, ls)) adamc@642: adamc@642: fun show ls = adamc@642: case ls of adamc@642: Nil => adamc@642: | Cons (x, ls') => {[x]}
{show ls'}
adamc@642: in adamc@642: src1 <- source 0; adamc@642: src2 <- source 1; adamc@642: s <- source Nil; adamc@642: return adamc@642: