The (aux nondeterministic) module

test/letnondeterministic/choose-null?: pass

(define (test/letnondeterministic/choose-null? _)
  (⊦= '() (letnondeterministic (? ¿ ⊦ • !) (? '()))))
((eta 0.0)
 (memory #(12582912 2535808 1048576))
 (stdout "((tried 1) (accepted 0) (ratio 0.0) (distribution ()))\n")
 (stderr ""))

test/letnondeterministic/choose: pass

(define (test/letnondeterministic/choose _)
  (⊦= '(1 2 3) (letnondeterministic (? ¿ ⊦ • !) (? '(1 2 3)))))
((eta 0.0)
 (memory #(12582912 2543520 1048576))
 (stdout
   "((tried 7)\n (accepted 3)\n (ratio 0.428571428571429)\n (distribution\n   ((1 0.333333333333333) (2 0.333333333333333) (3 0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/choose§: pass

(define (test/letnondeterministic/choose§ _)
  (⊦= '(1 2 3)
      (letnondeterministic (? ¿ ⊦ • !) (? (cons§ 1 (cons§ 2 (cons§ 3 '())))))))
((eta 0.0)
 (memory #(12582912 2538976 1048576))
 (stdout
   "((tried 7)\n (accepted 3)\n (ratio 0.428571428571429)\n (distribution\n   ((1 0.333333333333333) (2 0.333333333333333) (3 0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/choose-rec: pass

(define (test/letnondeterministic/choose-rec _)
  (⊦= '(0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584)
      (§->list
        (stop§ (λ (v) (> v 3000))
               (letnondeterministic§ (? ¿ ⊦ • !) (? (fibs§ 0 1)))))))
((eta 0.001) (memory #(12582912 2550456 1048576)) (stdout "") (stderr ""))

test/letnondeterministic/choose+nested: pass

(define (test/letnondeterministic/choose+nested _)
  (⊦= '(1 4 3 1 5 3) (letnondeterministic (? ¿ ⊦ • !) (? `(1 ,(? '(4 5)) 3)))))
((eta 0.0)
 (memory #(12582912 2557624 1048576))
 (stdout
   "((tried 17)\n (accepted 6)\n (ratio 0.352941176470588)\n (distribution\n   ((3 0.333333333333333)\n    (1 0.333333333333333)\n    (5 0.166666666666667)\n    (4 0.166666666666667))))\n")
 (stderr ""))

test/letnondeterministic/choose+nested+¿: pass

(define (test/letnondeterministic/choose+nested+¿ _)
  (⊦= '(1 4 3 1 5 3) (letnondeterministic (? ¿ ⊦ • !) (? `(1 ,(¿ '(4 5)) 3)))))
((eta 0.0)
 (memory #(12582912 2564968 1048576))
 (stdout
   "((tried 17)\n (accepted 6)\n (ratio 0.352941176470588)\n (distribution\n   ((1 0.333333333333333)\n    (3 0.333333333333333)\n    (5 0.166666666666667)\n    (4 0.166666666666667))))\n")
 (stderr ""))

test/letnondeterministic/choose+double: pass

(define (test/letnondeterministic/choose+double _)
  (⊦= '(5 6 6 7 7 8)
      (letnondeterministic (? ¿ ⊦ • !) (+ (? '(1 2 3)) (? '(4 5))))))
((eta 0.0)
 (memory #(12582912 2549160 1048576))
 (stdout
   "((tried 19)\n (accepted 6)\n (ratio 0.315789473684211)\n (distribution\n   ((7 0.333333333333333)\n    (6 0.333333333333333)\n    (8 0.166666666666667)\n    (5 0.166666666666667))))\n")
 (stderr ""))

test/letnondeterministic/choose+fair+fibs: pass

(define (test/letnondeterministic/choose+fair+fibs _)
  (⊦= '((a 0)
        (b 0)
        (c 0)
        (a 1)
        (b 1)
        (c 1)
        (a 1)
        (b 1)
        (c 1)
        (a 2)
        (b 2)
        (c 2)
        (a 3)
        (b 3)
        (c 3)
        (a 5)
        (b 5)
        (c 5)
        (a 8)
        (b 8)
        (c 8))
      (letnondeterministic
        21
        (? ¿ ⊦ • !)
        (? (append§/interleaved
             (map§ (lambda (v) (list 'a v)) (fibs§ 0 1))
             (map§ (lambda (v) (list 'b v)) (fibs§ 0 1))
             (map§ (lambda (v) (list 'c v)) (fibs§ 0 1)))))))
((eta 0.0) (memory #(12582912 2555464 1048576)) (stdout "") (stderr ""))

test/letnondeterministic/choose+fair: pass

(define (test/letnondeterministic/choose+fair _)
  (⊦= '((a 1) (b 1) (a 2) (b 2) (a 3))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (? (append§/interleaved '((a 1) (a 2) (a 3)) '((b 1) (b 2)))))))
((eta 0.0)
 (memory #(12582912 2556344 1048576))
 (stdout
   "((tried 11)\n (accepted 5)\n (ratio 0.454545454545455)\n (distribution (((b 2) 0.2) ((a 3) 0.2) ((a 1) 0.2) ((b 1) 0.2) ((a 2) 0.2))))\n")
 (stderr ""))

test/letnondeterministic/statistics: pass

(define (test/letnondeterministic/statistics _)
  (define stats
    (with-input-from-string
      (with-output-to-string (τ (letnondeterministic (? ¿ ⊦ • !) (? '(1 2)))))
      read))
  (⊦= '((tried 5) (accepted 2) #f)
      (list (assq 'tried stats) (assq 'accepted stats) (assq 'left stats))))
((eta 0.0) (memory #(12582912 2553376 1048576)) (stdout "") (stderr ""))

test/letnondeterministic/parameterize: pass

(define (test/letnondeterministic/parameterize _)
  (define q (make-parameter 'outer))
  (⊦= '((1 inner) (2 inner) (3 inner))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (parameterize ((q 'inner)) (let1 (v (? '(1 2 3))) (list v (q))))))
  (⊦= 'outer (q)))
((eta 0.0)
 (memory #(12582912 2549400 1048576))
 (stdout
   "((tried 7)\n (accepted 3)\n (ratio 0.428571428571429)\n (distribution\n   (((1 inner) 0.333333333333333)\n    ((3 inner) 0.333333333333333)\n    ((2 inner) 0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/odd: pass

(define (test/letnondeterministic/odd _)
  (⊦= '(1 3)
      (letnondeterministic
        (? ¿ ⊦ • !)
        (let1 (v (? '(1 2 3))) (⊦ (odd? v)) v))))
((eta 0.0)
 (memory #(12582912 2550056 1048576))
 (stdout
   "((tried 7)\n (accepted 2)\n (ratio 0.285714285714286)\n (distribution ((3 0.5) (1 0.5))))\n")
 (stderr ""))

test/letnondeterministic/parlor: pass

(define (test/letnondeterministic/parlor _)
  (⊦= '((1 1 5)
        (1 2 4)
        (1 3 3)
        (1 4 2)
        (1 5 1)
        (2 1 4)
        (2 2 3)
        (2 3 2)
        (2 4 1)
        (3 1 3)
        (3 2 2)
        (3 3 1)
        (4 1 2)
        (4 2 1)
        (5 1 1))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (define (two-numbers)
          (list (? '(1 2 3 4 5)) (? '(1 2 3 4 5)) (? '(1 2 3 4 5))))
        (define (parlor sum)
          (let ((nums (two-numbers))) (⊦ (eq? (apply + nums) sum)) nums))
        (parlor 7))))
((eta 0.0)
 (memory #(12582912 2553608 1048576))
 (stdout
   "((tried 311)\n (accepted 15)\n (ratio 0.0482315112540193)\n (distribution\n   (((1 2 4) 0.0666666666666667)\n    ((1 4 2) 0.0666666666666667)\n    ((2 1 4) 0.0666666666666667)\n    ((2 2 3) 0.0666666666666667)\n    ((2 3 2) 0.0666666666666667)\n    ((2 4 1) 0.0666666666666667)\n    ((3 2 2) 0.0666666666666667)\n    ((4 1 2) 0.0666666666666667)\n    ((4 2 1) 0.0666666666666667)\n    ((1 1 5) 0.0666666666666667)\n    ((1 3 3) 0.0666666666666667)\n    ((1 5 1) 0.0666666666666667)\n    ((3 1 3) 0.0666666666666667)\n    ((3 3 1) 0.0666666666666667)\n    ((5 1 1) 0.0666666666666667))))\n")
 (stderr ""))

test/letnondeterministic/parlor+sorted: pass

(define (test/letnondeterministic/parlor+sorted _)
  (⊦= '((1 1 5) (1 2 4) (1 3 3) (2 2 3))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (define (two-numbers)
          (list (? '(1 2 3 4 5)) (? '(1 2 3 4 5)) (? '(1 2 3 4 5))))
        (define (parlor sum)
          (let ((nums (two-numbers)))
            (⊦ (and (eq? (apply + nums) sum) (sorted? nums <)))
            nums))
        (parlor 7))))
((eta 0.0)
 (memory #(12582912 2552888 1048576))
 (stdout
   "((tried 311)\n (accepted 4)\n (ratio 0.0128617363344051)\n (distribution (((1 2 4) 0.25) ((1 1 5) 0.25) ((2 2 3) 0.25) ((1 3 3) 0.25))))\n")
 (stderr ""))

test/letnondeterministic/coin: pass

(define (test/letnondeterministic/coin _)
  (⊦= '(((la 1 1) (la 1 2))
        ((la 1 1) (la 1 2) (la 2 1) (la 2 2) (ny 1 1))
        ((la 1 1)
         (la 1 2)
         (la 2 1)
         (la 2 2)
         (ny 1 1)
         (ny 1 2)
         (ny 2 1)
         (ny 2 2)
         (bos 1 1)
         (bos 1 2)
         (bos 2 1)
         (bos 2 2)))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (define (coin? x) (member? x '((la 1 2) (ny 1 1) (bos 2 2))))
        (let* ((*paths* '())
               (attempts '())
               (city (? '(la ny bos)))
               (store (? '(1 2)))
               (box (? '(1 2)))
               (triple (list city store box)))
          (push! triple attempts)
          (⊦ (coin? triple))
          (reverse attempts)))))
((eta 0.0)
 (memory #(12582912 2562656 1048576))
 (stdout
   "((tried 43)\n (accepted 3)\n (ratio 0.0697674418604651)\n (distribution\n   ((((la 1 1) (la 1 2) (la 2 1) (la 2 2) (ny 1 1)) 0.333333333333333)\n    (((la 1 1)\n      (la 1 2)\n      (la 2 1)\n      (la 2 2)\n      (ny 1 1)\n      (ny 1 2)\n      (ny 2 1)\n      (ny 2 2)\n      (bos 1 1)\n      (bos 1 2)\n      (bos 2 1)\n      (bos 2 2))\n     0.333333333333333)\n    (((la 1 1) (la 1 2)) 0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/coin+cut: pass

(define (test/letnondeterministic/coin+cut _)
  (⊦= '(((la 1 1) (la 1 2))
        ((la 1 1) (la 1 2) (ny 1 1))
        ((la 1 1) (la 1 2) (ny 1 1) (bos 1 1) (bos 1 2) (bos 2 1) (bos 2 2)))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (define (coin? x) (member? x '((la 1 2) (ny 1 1) (bos 2 2))))
        (let* ((*paths* '())
               (attempts '())
               (city (? '(la ny bos)))
               (flag (•))
               (store (? '(1 2)))
               (_ (•))
               (box (? '(1 2)))
               (triple (list city store box)))
          (push! triple attempts)
          (⊦ (coin? triple))
          (! flag)
          (reverse attempts)))))
((eta 0.0)
 (memory #(12582912 2558040 1048576))
 (stdout
   "((tried 23)\n (accepted 3)\n (ratio 0.130434782608696)\n (distribution\n   ((((la 1 1) (la 1 2)) 0.333333333333333)\n    (((la 1 1) (la 1 2) (ny 1 1)) 0.333333333333333)\n    (((la 1 1) (la 1 2) (ny 1 1) (bos 1 1) (bos 1 2) (bos 2 1) (bos 2 2))\n     0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/graph+cycles/bfs: pass

(define (test/letnondeterministic/graph+cycles/bfs _)
  (⊦= '((a b c a) (a b c e a) (a b d e a))
      (letnondeterministic
        (? ¿ ⊦ • !)
        (define (neighbors node)
          (letassoc
            (node '((a (b)) (b (c d)) (c (a e)) (d (e)) (e (a))))
            (else '())))
        (define (path node1 node2 seen)
          (⊦ (not (member? node1 seen)))
          (let1 (n (? (neighbors node1)))
                (if (eq? n node2)
                  (list node2)
                  (cons n (path n node2 (cons node1 seen))))))
        (let* ((source 'a) (p (path source 'a '()))) (cons source p)))))
((eta 0.0)
 (memory #(12582912 2565456 1048576))
 (stdout
   "((tried 17)\n (accepted 3)\n (ratio 0.176470588235294)\n (distribution\n   (((a b d e a) 0.333333333333333)\n    ((a b c a) 0.333333333333333)\n    ((a b c e a) 0.333333333333333))))\n")
 (stderr ""))

test/letnondeterministic/temporal-graphs: pass

(define (test/letnondeterministic/temporal-graphs _)
  (define graph-simple
    `((a ((b (1 2 3))))
      (b ((c (2 5)) (d ,ℕ)))
      (c ((a (2 3 4 5 6)) (e ,ℕ)))
      (d ((e (3 4 5))))
      (e ((a ,ℕ)))))
  (define (V g) (map car g))
  (⊦= '(((a b) ((a 1) (b 2)))
        ((a b) ((a 1) (b 3)))
        ((a c) ((a 1) (b 2) (c 5)))
        ((a c) ((a 1) (b 3) (c 5)))
        ((a d) ((a 1) (b 2) (d 3)))
        ((a d) ((a 1) (b 2) (d 4)))
        ((a d) ((a 1) (b 2) (d 5)))
        ((a d) ((a 1) (b 2) (d 6)))
        ((a d) ((a 1) (b 2) (d 7)))
        ((a d) ((a 1) (b 3) (d 4)))
        ((a d) ((a 1) (b 3) (d 5)))
        ((a d) ((a 1) (b 3) (d 6)))
        ((a d) ((a 1) (b 3) (d 7)))
        ((a e) ((a 1) (b 2) (c 5) (e 6)))
        ((a e) ((a 1) (b 2) (c 5) (e 7)))
        ((a e) ((a 1) (b 2) (d 3) (e 4)))
        ((a e) ((a 1) (b 2) (d 3) (e 5)))
        ((a e) ((a 1) (b 2) (d 4) (e 5)))
        ((a e) ((a 1) (b 3) (c 5) (e 6)))
        ((a e) ((a 1) (b 3) (c 5) (e 7)))
        ((a e) ((a 1) (b 3) (d 4) (e 5)))
        ((b a) ((b 1) (c 2) (a 3)))
        ((b a) ((b 1) (c 2) (a 4)))
        ((b a) ((b 1) (c 2) (a 5)))
        ((b a) ((b 1) (c 2) (a 6)))
        ((b a) ((b 1) (c 2) (e 3) (a 4)))
        ((b a) ((b 1) (c 2) (e 3) (a 5)))
        ((b a) ((b 1) (c 2) (e 3) (a 6)))
        ((b a) ((b 1) (c 2) (e 3) (a 7)))
        ((b a) ((b 1) (c 2) (e 4) (a 5)))
        ((b a) ((b 1) (c 2) (e 4) (a 6)))
        ((b a) ((b 1) (c 2) (e 4) (a 7)))
        ((b a) ((b 1) (c 2) (e 5) (a 6)))
        ((b a) ((b 1) (c 2) (e 5) (a 7)))
        ((b a) ((b 1) (c 2) (e 6) (a 7)))
        ((b a) ((b 1) (c 5) (a 6)))
        ((b a) ((b 1) (c 5) (e 6) (a 7)))
        ((b a) ((b 1) (d 2) (e 3) (a 4)))
        ((b a) ((b 1) (d 2) (e 3) (a 5)))
        ((b a) ((b 1) (d 2) (e 3) (a 6)))
        ((b a) ((b 1) (d 2) (e 3) (a 7)))
        ((b a) ((b 1) (d 2) (e 4) (a 5)))
        ((b a) ((b 1) (d 2) (e 4) (a 6)))
        ((b a) ((b 1) (d 2) (e 4) (a 7)))
        ((b a) ((b 1) (d 2) (e 5) (a 6)))
        ((b a) ((b 1) (d 2) (e 5) (a 7)))
        ((b a) ((b 1) (d 3) (e 4) (a 5)))
        ((b a) ((b 1) (d 3) (e 4) (a 6)))
        ((b a) ((b 1) (d 3) (e 4) (a 7)))
        ((b a) ((b 1) (d 3) (e 5) (a 6)))
        ((b a) ((b 1) (d 3) (e 5) (a 7)))
        ((b a) ((b 1) (d 4) (e 5) (a 6)))
        ((b a) ((b 1) (d 4) (e 5) (a 7)))
        ((b c) ((b 1) (c 2)))
        ((b c) ((b 1) (c 5)))
        ((b d) ((b 1) (d 2)))
        ((b d) ((b 1) (d 3)))
        ((b d) ((b 1) (d 4)))
        ((b d) ((b 1) (d 5)))
        ((b d) ((b 1) (d 6)))
        ((b d) ((b 1) (d 7)))
        ((b e) ((b 1) (c 2) (e 3)))
        ((b e) ((b 1) (c 2) (e 4)))
        ((b e) ((b 1) (c 2) (e 5)))
        ((b e) ((b 1) (c 2) (e 6)))
        ((b e) ((b 1) (c 2) (e 7)))
        ((b e) ((b 1) (c 5) (e 6)))
        ((b e) ((b 1) (c 5) (e 7)))
        ((b e) ((b 1) (d 2) (e 3)))
        ((b e) ((b 1) (d 2) (e 4)))
        ((b e) ((b 1) (d 2) (e 5)))
        ((b e) ((b 1) (d 3) (e 4)))
        ((b e) ((b 1) (d 3) (e 5)))
        ((b e) ((b 1) (d 4) (e 5)))
        ((c a) ((c 1) (a 2)))
        ((c a) ((c 1) (a 3)))
        ((c a) ((c 1) (a 4)))
        ((c a) ((c 1) (a 5)))
        ((c a) ((c 1) (a 6)))
        ((c a) ((c 1) (e 2) (a 3)))
        ((c a) ((c 1) (e 2) (a 4)))
        ((c a) ((c 1) (e 2) (a 5)))
        ((c a) ((c 1) (e 2) (a 6)))
        ((c a) ((c 1) (e 2) (a 7)))
        ((c a) ((c 1) (e 3) (a 4)))
        ((c a) ((c 1) (e 3) (a 5)))
        ((c a) ((c 1) (e 3) (a 6)))
        ((c a) ((c 1) (e 3) (a 7)))
        ((c a) ((c 1) (e 4) (a 5)))
        ((c a) ((c 1) (e 4) (a 6)))
        ((c a) ((c 1) (e 4) (a 7)))
        ((c a) ((c 1) (e 5) (a 6)))
        ((c a) ((c 1) (e 5) (a 7)))
        ((c a) ((c 1) (e 6) (a 7)))
        ((c b) ((c 1) (a 2) (b 3)))
        ((c d) ((c 1) (a 2) (b 3) (d 4)))
        ((c d) ((c 1) (a 2) (b 3) (d 5)))
        ((c d) ((c 1) (a 2) (b 3) (d 6)))
        ((c d) ((c 1) (a 2) (b 3) (d 7)))
        ((c e) ((c 1) (a 2) (b 3) (d 4) (e 5)))
        ((c e) ((c 1) (e 2)))
        ((c e) ((c 1) (e 3)))
        ((c e) ((c 1) (e 4)))
        ((c e) ((c 1) (e 5)))
        ((c e) ((c 1) (e 6)))
        ((c e) ((c 1) (e 7)))
        ((d a) ((d 1) (e 3) (a 4)))
        ((d a) ((d 1) (e 3) (a 5)))
        ((d a) ((d 1) (e 3) (a 6)))
        ((d a) ((d 1) (e 3) (a 7)))
        ((d a) ((d 1) (e 4) (a 5)))
        ((d a) ((d 1) (e 4) (a 6)))
        ((d a) ((d 1) (e 4) (a 7)))
        ((d a) ((d 1) (e 5) (a 6)))
        ((d a) ((d 1) (e 5) (a 7)))
        ((d e) ((d 1) (e 3)))
        ((d e) ((d 1) (e 4)))
        ((d e) ((d 1) (e 5)))
        ((e a) ((e 1) (a 2)))
        ((e a) ((e 1) (a 3)))
        ((e a) ((e 1) (a 4)))
        ((e a) ((e 1) (a 5)))
        ((e a) ((e 1) (a 6)))
        ((e a) ((e 1) (a 7)))
        ((e b) ((e 1) (a 2) (b 3)))
        ((e c) ((e 1) (a 2) (b 3) (c 5)))
        ((e d) ((e 1) (a 2) (b 3) (d 4)))
        ((e d) ((e 1) (a 2) (b 3) (d 5)))
        ((e d) ((e 1) (a 2) (b 3) (d 6)))
        ((e d) ((e 1) (a 2) (b 3) (d 7))))
      (letnondeterministic
        -1
        (? ¿ ⊦ • !)
        (define (path p node1 node2 seen maxlen maxt)
          (let* ((lastpair (car p))
                 (l (caddr lastpair))
                 (_ (⊦ (< l (add1 maxlen))))
                 (pair (? (letassoc (node1 graph-simple) (else '()))))
                 (n (car pair))
                 (_ (⊦ (not (member? n seen))))
                 (t₁ (? (cadr pair) (λ (t) (< t maxt))))
                 (t₀ (cadr lastpair))
                 (_ (⊦ (> t₁ t₀)))
                 (newp (cons (list n t₁ (add1 l)) p)))
            (cond ((eq? n node2) (reverse newp))
                  (else (path newp n node2 (cons node1 seen) maxlen maxt)))))
        (let* ((vertices (V graph-simple))
               (source (? vertices))
               (destination (? vertices))
               (p (path (list (list source 1 1)) source destination '() 15 7)))
          (list (list source destination)
                (map (λ (triple) (list (car triple) (cadr triple))) p))))))
((eta 0.004)
 (memory #(12582912 2626328 1048576))
 (stdout
   "((tried 4013)\n (accepted 130)\n (ratio 0.0323947171692001)\n (distribution\n   ((((a b) ((a 1) (b 2))) 0.00769230769230769)\n    (((a b) ((a 1) (b 3))) 0.00769230769230769)\n    (((a c) ((a 1) (b 2) (c 5))) 0.00769230769230769)\n    (((a c) ((a 1) (b 3) (c 5))) 0.00769230769230769)\n    (((a d) ((a 1) (b 2) (d 3))) 0.00769230769230769)\n    (((a d) ((a 1) (b 2) (d 4))) 0.00769230769230769)\n    (((a d) ((a 1) (b 2) (d 5))) 0.00769230769230769)\n    (((a d) ((a 1) (b 2) (d 6))) 0.00769230769230769)\n    (((a d) ((a 1) (b 2) (d 7))) 0.00769230769230769)\n    (((a d) ((a 1) (b 3) (d 4))) 0.00769230769230769)\n    (((a d) ((a 1) (b 3) (d 5))) 0.00769230769230769)\n    (((a d) ((a 1) (b 3) (d 6))) 0.00769230769230769)\n    (((a d) ((a 1) (b 3) (d 7))) 0.00769230769230769)\n    (((a e) ((a 1) (b 2) (c 5) (e 6))) 0.00769230769230769)\n    (((a e) ((a 1) (b 2) (c 5) (e 7))) 0.00769230769230769)\n    (((a e) ((a 1) (b 2) (d 3) (e 4))) 0.00769230769230769)\n    (((a e) ((a 1) (b 2) (d 3) (e 5))) 0.00769230769230769)\n    (((a e) ((a 1) (b 2) (d 4) (e 5))) 0.00769230769230769)\n    (((a e) ((a 1) (b 3) (c 5) (e 6))) 0.00769230769230769)\n    (((a e) ((a 1) (b 3) (c 5) (e 7))) 0.00769230769230769)\n    (((a e) ((a 1) (b 3) (d 4) (e 5))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (a 3))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (a 4))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 3) (a 4))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 3) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 3) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 3) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 4) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 4) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 4) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 5) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 5) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (c 2) (e 6) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (c 5) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (c 5) (e 6) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 3) (a 4))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 3) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 3) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 3) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 4) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 4) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 4) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 5) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 2) (e 5) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 3) (e 4) (a 5))) 0.00769230769230769)\n    (((b a) ((b 1) (d 3) (e 4) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 3) (e 4) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 3) (e 5) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 3) (e 5) (a 7))) 0.00769230769230769)\n    (((b a) ((b 1) (d 4) (e 5) (a 6))) 0.00769230769230769)\n    (((b a) ((b 1) (d 4) (e 5) (a 7))) 0.00769230769230769)\n    (((b c) ((b 1) (c 2))) 0.00769230769230769)\n    (((b c) ((b 1) (c 5))) 0.00769230769230769)\n    (((b d) ((b 1) (d 2))) 0.00769230769230769)\n    (((b d) ((b 1) (d 3))) 0.00769230769230769)\n    (((b d) ((b 1) (d 4))) 0.00769230769230769)\n    (((b d) ((b 1) (d 5))) 0.00769230769230769)\n    (((b d) ((b 1) (d 6))) 0.00769230769230769)\n    (((b d) ((b 1) (d 7))) 0.00769230769230769)\n    (((b e) ((b 1) (c 2) (e 3))) 0.00769230769230769)\n    (((b e) ((b 1) (c 2) (e 4))) 0.00769230769230769)\n    (((b e) ((b 1) (c 2) (e 5))) 0.00769230769230769)\n    (((b e) ((b 1) (c 2) (e 6))) 0.00769230769230769)\n    (((b e) ((b 1) (c 2) (e 7))) 0.00769230769230769)\n    (((b e) ((b 1) (c 5) (e 6))) 0.00769230769230769)\n    (((b e) ((b 1) (c 5) (e 7))) 0.00769230769230769)\n    (((b e) ((b 1) (d 2) (e 3))) 0.00769230769230769)\n    (((b e) ((b 1) (d 2) (e 4))) 0.00769230769230769)\n    (((b e) ((b 1) (d 2) (e 5))) 0.00769230769230769)\n    (((b e) ((b 1) (d 3) (e 4))) 0.00769230769230769)\n    (((b e) ((b 1) (d 3) (e 5))) 0.00769230769230769)\n    (((b e) ((b 1) (d 4) (e 5))) 0.00769230769230769)\n    (((c a) ((c 1) (a 2))) 0.00769230769230769)\n    (((c a) ((c 1) (a 3))) 0.00769230769230769)\n    (((c a) ((c 1) (a 4))) 0.00769230769230769)\n    (((c a) ((c 1) (a 5))) 0.00769230769230769)\n    (((c a) ((c 1) (a 6))) 0.00769230769230769)\n    (((c a) ((c 1) (e 2) (a 3))) 0.00769230769230769)\n    (((c a) ((c 1) (e 2) (a 4))) 0.00769230769230769)\n    (((c a) ((c 1) (e 2) (a 5))) 0.00769230769230769)\n    (((c a) ((c 1) (e 2) (a 6))) 0.00769230769230769)\n    (((c a) ((c 1) (e 2) (a 7))) 0.00769230769230769)\n    (((c a) ((c 1) (e 3) (a 4))) 0.00769230769230769)\n    (((c a) ((c 1) (e 3) (a 5))) 0.00769230769230769)\n    (((c a) ((c 1) (e 3) (a 6))) 0.00769230769230769)\n    (((c a) ((c 1) (e 3) (a 7))) 0.00769230769230769)\n    (((c a) ((c 1) (e 4) (a 5))) 0.00769230769230769)\n    (((c a) ((c 1) (e 4) (a 6))) 0.00769230769230769)\n    (((c a) ((c 1) (e 4) (a 7))) 0.00769230769230769)\n    (((c a) ((c 1) (e 5) (a 6))) 0.00769230769230769)\n    (((c a) ((c 1) (e 5) (a 7))) 0.00769230769230769)\n    (((c a) ((c 1) (e 6) (a 7))) 0.00769230769230769)\n    (((c b) ((c 1) (a 2) (b 3))) 0.00769230769230769)\n    (((c d) ((c 1) (a 2) (b 3) (d 4))) 0.00769230769230769)\n    (((c d) ((c 1) (a 2) (b 3) (d 5))) 0.00769230769230769)\n    (((c d) ((c 1) (a 2) (b 3) (d 6))) 0.00769230769230769)\n    (((c d) ((c 1) (a 2) (b 3) (d 7))) 0.00769230769230769)\n    (((c e) ((c 1) (a 2) (b 3) (d 4) (e 5))) 0.00769230769230769)\n    (((c e) ((c 1) (e 2))) 0.00769230769230769)\n    (((c e) ((c 1) (e 3))) 0.00769230769230769)\n    (((c e) ((c 1) (e 4))) 0.00769230769230769)\n    (((c e) ((c 1) (e 5))) 0.00769230769230769)\n    (((c e) ((c 1) (e 6))) 0.00769230769230769)\n    (((c e) ((c 1) (e 7))) 0.00769230769230769)\n    (((d a) ((d 1) (e 3) (a 4))) 0.00769230769230769)\n    (((d a) ((d 1) (e 3) (a 5))) 0.00769230769230769)\n    (((d a) ((d 1) (e 3) (a 6))) 0.00769230769230769)\n    (((d a) ((d 1) (e 3) (a 7))) 0.00769230769230769)\n    (((d a) ((d 1) (e 4) (a 5))) 0.00769230769230769)\n    (((d a) ((d 1) (e 4) (a 6))) 0.00769230769230769)\n    (((d a) ((d 1) (e 4) (a 7))) 0.00769230769230769)\n    (((d a) ((d 1) (e 5) (a 6))) 0.00769230769230769)\n    (((d a) ((d 1) (e 5) (a 7))) 0.00769230769230769)\n    (((d e) ((d 1) (e 3))) 0.00769230769230769)\n    (((d e) ((d 1) (e 4))) 0.00769230769230769)\n    (((d e) ((d 1) (e 5))) 0.00769230769230769)\n    (((e a) ((e 1) (a 2))) 0.00769230769230769)\n    (((e a) ((e 1) (a 3))) 0.00769230769230769)\n    (((e a) ((e 1) (a 4))) 0.00769230769230769)\n    (((e a) ((e 1) (a 5))) 0.00769230769230769)\n    (((e a) ((e 1) (a 6))) 0.00769230769230769)\n    (((e a) ((e 1) (a 7))) 0.00769230769230769)\n    (((e b) ((e 1) (a 2) (b 3))) 0.00769230769230769)\n    (((e c) ((e 1) (a 2) (b 3) (c 5))) 0.00769230769230769)\n    (((e d) ((e 1) (a 2) (b 3) (d 4))) 0.00769230769230769)\n    (((e d) ((e 1) (a 2) (b 3) (d 5))) 0.00769230769230769)\n    (((e d) ((e 1) (a 2) (b 3) (d 6))) 0.00769230769230769)\n    (((e d) ((e 1) (a 2) (b 3) (d 7))) 0.00769230769230769))))\n")
 (stderr ""))
Categories: scheme 

See also

The (aux anthropic) module The Anthropic Messages API, offline The (aux cml) module Events, threads, synchronous variables, the library and I/O The (aux hakaru10) modules Random sources, distributions, the language, exact inference and examples The (aux kanren) modules Arithmetic, dates, presentation of answers and a union-find miniKanren The (aux games dice-of-doom) module Dice of Doom The (aux machine) modules Environments, the SC machine and the SECD machine The (aux schemer seasoned) module The Seasoned Schemer The (aux continuation) modules Classic operators, escapers, amb and Collatz sequences The (aux category) modules Monads: list, maybe, probability, ziplist, difference lists and state The (aux timsort) module Sorting and the trace buffer The (aux fds) modules Functional queues and union-find The (aux sxml) module Rendering SXML to HTML The (aux variable) module Logic variables introduced by fresh The (aux tabling) module Memoization and tabled definitions The (aux commons) module Learning tests for CHICKEN Scheme Promises delay and make-promise The Ackermann function On unary numbers, as lists Concurrent ML for CHICKEN Scheme Porting SML/NJ CML as the (aux cml) library CHICKEN Scheme Versions and implementation notes The SBRAL data structure Skew Binary Random-Access Lists Pattern matching Scheme macrology: a generalized pattern matcher The (aux hansei) modules Inference, random sources, lazy lists, logic programming and example models Learning tests for Scheme The (aux stream) modules Streams, streams after SICP, and sequences and power series The (aux unittest) module Bootstrapping a unittest framework Scheme lang: Chez, 48 and Chicken Some docs, refs and containers, respectively. The Reasoned Schemer miniKanren, microKanren and some implementations Aggregation predicates for µkanren Groups, window functions, sets and enumerations miniKanren, live and untagged Quine generation via relational interpreters Pure, declarative, and constructive arithmetic relations A declarative pearl Final shift for call/cc Direct implementation of shift and reset Call with Current Continuation Patterns Cogen in six lines The Seasoned Schemer The Little Schemer Adding generic functions to Scheme Handling control