(chapter-start ‘nydp/warnings “Store, display, and manage warnings”)

(def warnings/clear nil

; clear all stored warnings
(assign warnings/list nil))

(warnings/clear)

;; apply f to each stored warning. For example, (warnings p) to print warnings to console (def warnings (f)

(mapply f warnings))

(def warnings/new (kind . info)

; store a warning for future retrieval or display
(assign warnings/list (cons (cons kind info) warnings/list)))