diff -r d58da36d1a30 -r c352f679dcca src/Pure/library.scala --- 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) =