// A means of causing evaluation to be delayed for a certain number of seconds in Scheme. May also be useful in LISP; I don't know. Most useful in begin expressions because it returns (void).
#lang scheme ;; wait : number -> void ;; Calls a local function that recurs on itself until n seconds have passed since wait was called. (define wait (lambda (n) (local [(define main (lambda (x) (cond [(>= (current-milliseconds) (+ x (* n 1000))) (void)] [else (main x)])))] (main (current-milliseconds)))))