endTime = nanoTime ()
(result, Java.l2d (endTime-beginTime) * 1e-9)
+reportTime :: (<e> a) -> <e> a
+reportTime f = runProc do
+ beginTime = nanoTime ()
+ result = f
+ endTime = nanoTime ()
+ time = Java.l2d (endTime-beginTime) * 1e-9
+ print "time \(time) s"
+ result
+
+reportTimeM :: String -> (<e> a) -> <e> a
+reportTimeM task f = runProc do
+ beginTime = nanoTime ()
+ result = f
+ endTime = nanoTime ()
+ time = Java.l2d (endTime-beginTime) * 1e-9
+ print "\(task): \(time) s"
+ result
+
"""
Prints the given text and returns
the second parameter.