Holes are a simple mutable data structure based on Racket boxes, with an API inspired by Clojure’s atoms. Their purpose is to provide an in-memory data store that is treated as a first-class value, which thus can be bound to a value or passed to functions. They can also be useful for providing a source of shared program state.
(hole? v) → boolean?
v : any?
(reset-thing [hol hole?] (field value) ...)
(hole-guard test) → any?
test : boolean?