Invisible link to canonical for Microformats

time (slug)


slug.time

slug.time — time and duration utilities

Wall-clock access, sleep, formatting, and duration conversion helpers. All time values are in milliseconds unless the function name specifies otherwise (e.g. clockNanos).

TOC

Functions

clock()

fn slug.time#clock() -> @num

returns the current wall-clock time in milliseconds since the Unix epoch.

@effects(‘time’)

Effects: time


clockNanos()

fn slug.time#clockNanos() -> @num

returns the current time as a nanosecond counter.

Intended for high-resolution timing. The epoch is implementation-defined — use differences between two calls rather than absolute values.

@effects(‘time’)

Effects: time


delta(f)

fn slug.time#delta(f) -> @fn

returns a function that measures elapsed time since it was created.

f should be a time source function (e.g. clock or clockNanos). Each call to the returned function returns the elapsed time since delta was first called.

val { delta, clock } = import("slug.time")

val elapsed = delta(clock)
// ... do some work ...
println(elapsed())  // => milliseconds elapsed
Parameter Type Default
f  

fmtClock(millis, fmt)

fn slug.time#fmtClock(@num millis, @str fmt) -> @str

formats a millisecond timestamp using a format string.

Format follows standard Go time layout conventions.

Parameter Type Default
millis @num
fmt @str

minsToMillis(mins)

fn slug.time#minsToMillis(@num mins) -> @num

converts minutes to milliseconds.

Parameter Type Default
mins @num

Examples

minsToMillis(1)  // => 60000

secsToMillis(secs)

fn slug.time#secsToMillis(@num secs) -> @num

converts seconds to milliseconds.

Parameter Type Default
secs @num

Examples

secsToMillis(1)  // => 1000

sleep(millis)

fn slug.time#sleep(@num millis) -> nil

suspends execution for millis milliseconds.

@effects(‘time’)

Parameter Type Default
millis @num

Effects: time