boot2

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

025-comparisons.scm (1682B)


      1 ; <, =, zero?, not, eq?, pair?, null?, >, positive?, negative? interact
      2 ; correctly with truthiness. Failure at depth N exits N (1..16); full
      3 ; success exits 33.
      4 (sys-exit
      5   (if (< 3 5)
      6       (if (= 4 4)
      7           (if (zero? 0)
      8               (if (not (pair? '()))
      9                   (if (pair? (cons 1 2))
     10                       (if (null? '())
     11                           (if (eq? 'a 'a)
     12                               (if (> 5 3)
     13                                   (if (not (> 3 5))
     14                                       (if (not (> 4 4))
     15                                           (if (positive? 7)
     16                                               (if (not (positive? -5))
     17                                                   (if (not (positive? 0))
     18                                                       (if (negative? -3)
     19                                                           (if (not (negative? 3))
     20                                                               (if (not (negative? 0))
     21                                                                   33
     22                                                                   1)
     23                                                               2)
     24                                                           3)
     25                                                       4)
     26                                                   5)
     27                                               6)
     28                                           7)
     29                                       8)
     30                                   9)
     31                               10)
     32                           11)
     33                       12)
     34                   13)
     35               14)
     36           15)
     37       16))