declare local A = 333667 B=213453321 M=1000000000 in proc {NewRand ?Rand ?Init ?Max} X = {NewCell 0} in fun {Rand} X := (A*@X+B) mod M end proc {Init Seed} X := Seed end Max = M end end declare Random Init Max {NewRand Random Init Max} {Init 10} {Browse {Random}} {Browse {Random} mod 52}