(import (prefix (chicken sort) og-)) (import sequences) (define (sense x) x) (define (sense (? (fn (and (not (##sys#immediate? x)) (##sys#structure? x (##sys#slot x 0)))) x)) (map (c ##sys#slot x) (iota (sub1 (##sys#size x)) 1))) (define (sense (? hash-table? x)) (hash-table->alist x)) (define (sense (? (disjoin call-table? call-table*? call-vector? call-string? call-list? call-record?) x)) (x)) (define (sense (? procedure? x)) (procedure-information x)) (define (sense (? boolean? x)) (if x "#t" "#f")) (define (sense (? symbol? x)) (symbol->string x)) (define (sense (? (conjoin (o not list?) pair?) x)) (list (car x) (cdr x))) (define (ascending? (= sense a) (= sense b)) (ascending? a b)) (define (ascending? (? char? a) (? char? b)) (char-ci