atomo-0.2: prelude/time.atomo
Timer do: (b: Block) every: (n: Number) :=
{ { Timer sleep: n; b spawn } repeat } spawn
Timer do: (b: Block) after: (n: Number) :=
{ Timer sleep: n; b call } spawn
(b: Block) time :=
{ before = Timer now
b call
after = Timer now
after - before
} call
-- units!
(n: Number) us := n
(n: Number) microseconds := n us
(n: Number) microsecond := n us
(n: Number) ms := n * 1000
(n: Number) milliseconds := n ms
(n: Number) millisecond := n ms
(n: Number) seconds := n * 1000000
(n: Number) second := n seconds
(n: Number) minutes := (n * 60) seconds
(n: Number) minute := n minutes
(n: Number) hours := (n * 60) minutes
(n: Number) hour := n hours
(n: Number) days := (n * 24) hours
(n: Number) day := n days
(n: Number) weeks := (n * 7) days
(n: Number) week := n weeks
(n: Number) months := (n * 30) days
(n: Number) month := n months
(n: Number) years := (n * 365) days
(n: Number) year := n years