;; ------------------------------------------------------------------------ ;; | FILE : utilities.rkt | ;; | AUTHOR : Eugene Wallingford | ;; | CREATION DATE : 2025/03/31 | ;; | DESCRIPTION : This file contains basic utility functions for | ;; | use in other files. | ;; ------------------------------------------------------------------------ #lang racket (provide list-of? every?) ;; ------------------------------------------------------------------------- ;; (list-of? n) returns a function: a predicate for n-item lists ;; ------------------------------------------------------------------------- (define (list-of? n) (lambda (obj) (and (list? obj) (eq? n (length obj))))) ;; ------------------------------------------------------------------------- ;; every? is a predicate that verifies each item in lst passes test? ;; ------------------------------------------------------------------------- (define (every? test? lst) (or (null? lst) (and (test? (first lst)) (every? test? (rest lst))))) ;; -------------------------------------------------------------------------