boot2

Playing with the boostrap
git clone https://git.ryansepassi.com/git/boot2.git
Log | Files | Refs | README

005-list-preds.scm (694B)


      1 ;; tests/cc-util/05-list-preds.scm — any / every / count.
      2 ;; Assumes cc/util.scm is loaded.
      3 
      4 ;; any
      5 (if (any positive? '())               (sys-exit 1) 0) ; empty -> #f
      6 (if (any positive? '(-1 -2 3))        0 (sys-exit 2)) ; one positive
      7 (if (any positive? '(-1 -2 -3))       (sys-exit 3) 0) ; none
      8 
      9 ;; every
     10 (if (every positive? '())             0 (sys-exit 4)) ; empty -> #t (vacuous truth)
     11 (if (every positive? '(1 2 3))        0 (sys-exit 5))
     12 (if (every positive? '(1 -2 3))       (sys-exit 6) 0)
     13 
     14 ;; count
     15 (if (= (count positive? '()) 0)         0 (sys-exit 7))
     16 (if (= (count positive? '(1 2 3)) 3)    0 (sys-exit 8))
     17 (if (= (count positive? '(-1 0 1 2)) 2) 0 (sys-exit 9))
     18 
     19 (sys-exit 0)