src/Pure/Concurrent/synchronized_sequential.ML
changeset 40449 9c390868d255
parent 35015 efafb3337ef3
child 43727 a0c3de0573d4
--- a/src/Pure/Concurrent/synchronized_sequential.ML	Tue Nov 09 21:13:06 2010 +0100
+++ b/src/Pure/Concurrent/synchronized_sequential.ML	Tue Nov 09 21:44:19 2010 +0100
@@ -24,4 +24,15 @@
 fun change var f = change_result var (fn x => ((), f x));
 
 end;
+
+fun counter () =
+  let
+    val counter = var "counter" 0;
+    fun next () =
+      change_result counter
+        (fn i =>
+          let val j = i + 1
+          in (j, j) end);
+  in next end;
+
 end;