fork(1) download
  1. (begin (define (ZEDappend ZEDlist1 ZEDlist2) (cond (#t (append ZEDlist1 ZEDlist2)) (else err))) (define (ZEDcar ZEDpair) (cond (#t (car ZEDpair)) (else err))) (define (ZEDcdr ZEDpair) (cond (#t (cdr ZEDpair)) (else err))) (define (ZEDcons ZEDone ZEDtwo) (cond (#t (cons ZEDone ZEDtwo)) (else err))) (define (ZEDmap ZEDfunction ZEDlist) (cond (#t (map ZEDfunction ZEDlist)) (else err))) (define (ZEDmerge ZEDcomparator ZEDlist1 ZEDlist2) (cond (#t (ZEDmerge1 ZEDcomparator ZEDlist1 ZEDlist2 (quote ()))) (else err))) (define (ZEDmerge1 ZEDcomparator ZEDlist1 ZEDlist2 ZEDcollect) (cond ((ZEDnull? ZEDlist2) (ZEDappend (ZEDreverse ZEDcollect) ZEDlist1)) ((ZEDnull? ZEDlist1) (ZEDappend (ZEDreverse ZEDcollect) ZEDlist2)) ((ZEDcomparator (ZEDcar ZEDlist2) (ZEDcar ZEDlist1)) (ZEDmerge1 ZEDcomparator ZEDlist1 (ZEDcdr ZEDlist2) (ZEDcons (ZEDcar ZEDlist2) ZEDcollect))) (#t (ZEDmerge1 ZEDcomparator (ZEDcdr ZEDlist1) ZEDlist2 (ZEDcons (ZEDcar ZEDlist1) ZEDcollect))) (else err))) (define (ZEDnull? ZEDvalue) (cond (#t (null? ZEDvalue)) (else err))) (define (ZEDreverse ZEDlist) (cond (#t (reverse ZEDlist)) (else err))) (define (ZEDsort ZEDcomparator ZEDjumble) (cond (#t (ZEDcar (ZEDsort11 ZEDcomparator (ZEDsort1 ZEDjumble)))) (else err))) (define (ZEDsort1 ZEDjumble) (cond (#t (ZEDmap list ZEDjumble)) (else err))) (define (ZEDsort11 ZEDcomparator ZEDjumble) (cond ((ZEDnull? ZEDjumble) (quote ())) ((ZEDnull? (ZEDcdr ZEDjumble)) ZEDjumble) (#t (ZEDsort11 ZEDcomparator (ZEDcons (ZEDmerge ZEDcomparator (ZEDcar ZEDjumble) (cadr ZEDjumble)) (ZEDsort11 ZEDcomparator (cddr ZEDjumble))))) (else err))))
  2. (display (ZEDsort > '(1 3 5 6 9 0 8 7 4 2)))
Success #stdin #stdout 0.03s 4132KB
stdin
(append) list1 list2
comment:
#true
(003) "append" list1 list2
 
(car) pair
comment:
#true
(002) "car" pair
 
(cdr) pair
comment:
#true
(002) "cdr" pair
 
(cons) one two
comment:
#true
(003) "cons" one two
 
(map) function list
comment:
#true
(003) "map" function list
 
(merge) comparator list1 list2
comment:
#true
(merge1) comparator list1 list2 nil
 
(merge1) comparator list1 list2 collect
comment:
(null?) list2
(append) (reverse) collect list1
 
(merge1) comparator list1 list2 collect
comment:
(null?) list1
(append) (reverse) collect list2
 
(merge1) comparator list1 list2 collect
comment:
(003) comparator (car) list2 (car) list1
(merge1) comparator list1 (cdr) list2 (cons) (car) list2 collect
 
(merge1) comparator list1 list2 collect
comment:
#true
(merge1) comparator (cdr) list1 list2 (cons) (car) list1 collect
 
(null?) value
comment:
#true
(002) "null?" value
 
(reverse) list
comment:
#true
(002) "reverse" list
 
(sort) comparator jumble
comment:
#true
(car) (sort11) comparator (sort1) jumble
 
(sort1) jumble
comment:
#true
(map) "list" jumble
 
(sort11) comparator jumble
comment:
(null?) jumble
nil
 
(sort11) comparator jumble
comment:
(null?) (cdr) jumble
jumble
 
(sort11) comparator jumble
comment:
#true
(sort11) comparator
         (cons) (merge) comparator (car) jumble (002) "cadr" jumble
                (sort11) comparator (002) "cddr" jumble
stdout
(9 8 7 6 5 4 3 2 1 0)