src/Tools/Compute_Oracle/report.ML
author wenzelm
Fri, 15 Aug 2008 15:50:52 +0200
changeset 27885 76b51cd0a37c
parent 25218 fcf0f50e478c
child 30187 b92b3375e919
permissions -rw-r--r--
renamed T.source_of' to T.source_position_of;

structure Report =
struct

local

    val report_depth = ref 0
    fun space n = if n <= 0 then "" else (space (n-1))^" "
    fun report_space () = space (!report_depth)

in

fun timeit f =
    let
	val t1 = start_timing ()
	val x = f ()
	val t2 = end_timing t1
	val _ = writeln ((report_space ()) ^ "--> "^t2)
    in
	x	
    end

fun report s f = 
let
    val _ = writeln ((report_space ())^s)
    val _ = report_depth := !report_depth + 1
    val x = timeit f
    val _ = report_depth := !report_depth - 1
in
    x
end

end
end