boot2

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

046-and.scm (525B)


      1 ; (and) is #t; (and a b c) returns last when all truthy; (and a #f c) is #f.
      2 ; Short-circuits left-to-right.
      3 (if (and) 0 (sys-exit 1))                   ; (and) -> #t
      4 (if (and #f) (sys-exit 2) 0)                ; (and #f) -> #f
      5 (if (and 5) 0 (sys-exit 3))                 ; single arg returns its value
      6 (if (and 1 #f 3) (sys-exit 4) 0)            ; falsy middle yields #f
      7 (if (and #f (sys-exit 99)) (sys-exit 5) 0)  ; rest unevaluated after #f
      8 (sys-exit (and 1 2 42))                     ; returns last value when all truthy