src/Pure/library.scala
changeset 34196 c352f679dcca
parent 34191 b6960fc09ef3
child 34198 ff5486262cd6
--- a/src/Pure/library.scala	Mon Dec 28 16:24:19 2009 +0100
+++ b/src/Pure/library.scala	Mon Dec 28 16:45:01 2009 +0100
@@ -7,6 +7,7 @@
 package isabelle
 
 import java.lang.System
+import java.io.File
 
 
 object Library
@@ -82,6 +83,18 @@
   }
 
 
+  /* temporary file */
+
+  def with_tmp_file[A](prefix: String)(body: File => A): A =
+  {
+    val file = File.createTempFile(prefix, null)
+    val result =
+      try { body(file) }
+      finally { file.delete }
+    result
+  }
+
+
   /* timing */
 
   def timeit[A](e: => A) =