Arc Cross Reference

cache

[procedure] cache timef valf

(def cache (timef valf)
  (with (cached nil gentime nil)
    (fn ()
      (unless (and cached (< (- (seconds) gentime) (timef)))
        (= cached  (valf)
           gentime (seconds)))
      cached)))