PasteRack.org | ||

Paste # 7551 | ||

2013-10-10 16:57:32 | ||

Fork as a new paste. | ||

Paste viewed 2436 times. | ||

Tweet | ||

Embed: | ||

#lang/bsl+ ; LON is one of: ; – empty ; – (cons Number LON) ; interpretation: a list of numbers ; LON -> LON ; created a sorted version of one-lon (check-expect (sort '(13 0 1 2 3 4 5 6 7 8 9 10 11 12 14 15)) '(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15)) (define (sort one-lon) (cond [(empty? one-lon) '()] [(cons? one-lon) (ryan (first one-lon) (sort (rest one-lon)))])) ; Number LON -> LON ; puts n into one-lon according to ascending order ; WHAT DO WE KNOW: one-lon is sorted in ascending order ; because ryan is called inside of sort with (sort (rest ...)) (check-expect (ryan 13 (list 11 12 14 15)) (list 11 12 13 14 15)) (check-expect (ryan 13 empty) (list 13)) (define (ryan n one-lon) (cond [(empty? one-lon) (list n)] [(cons? one-lon) (if (<= (first one-lon) n) (cons (first one-lon) (ryan n (rest one-lon))) (cons n one-lon))])) (ryan 13 empty) (check-expect (ryan 13 empty) (list 12))

=>

prog:1:0: read: expected a single space after `#lang'