;; -*- Mode: Irken -*- (include "lib/core.scm") (include "lib/pair.scm") (include "lib/string.scm") (include "lib/random.scm") (include "lib/aa_map.scm") (define n-random t 0 -> t t n -> (n-random (tree/insert t < (random) (random)) (- n 1))) (define indent 0 -> #u n -> (begin (print-string " ") (indent (- n 1)))) (define (print-item k v d) (indent d) (print k) (print-string ":") (print v) (print-string "\n")) (define (print-kv k v) (print k) (print-string " ") (print v) (print-string "\n")) (srandom 314159) (let ((t (n-random (tree/empty) 20)) (t2 (tree/empty)) ) (print-string "inorder:\n") (tree/inorder print-kv t) (print-string "reverse:\n") (tree/reverse print-kv t) (set! t (tree/insert t < 1234 5000)) (printn (tree/member t < 1234)) (printn (tree/member t < 9999)) (tree/dump 0 print-item t) (set! t2 (tree/insert t2 string