adamc@419: structure IR = RefFun.Make(struct adamc@419: type t = int adamc@419: val inj = _ adamc@419: end) adamc@419: adamc@419: structure SR = RefFun.Make(struct adamc@419: type t = string adamc@419: val inj = _ adamc@419: end) adamc@419: adamc@419: fun main () = adamc@419: ir <- IR.new 3; adamc@419: ir' <- IR.new 7; adamc@419: sr <- SR.new "hi"; adamc@419: adamc@419: () <- IR.write ir' 10; adamc@419: adamc@419: iv <- IR.read ir; adamc@419: iv' <- IR.read ir'; adamc@419: sv <- SR.read sr; adamc@419: adamc@419: () <- IR.delete ir; adamc@419: () <- IR.delete ir'; adamc@419: () <- SR.delete sr; adamc@419: adamc@419: return adamc@419: {[iv]}, {[iv']}, {[sv]} adamc@419: