mardi 22 mars 2016

How to use self-compose with sort-step to sort

(define (compose f1 f2)
  (lambda (p2) (f1 (f2 p2))))

(define (self-compose f n)
  (if (= n 1) (compose f f)
      (compose f (self-compose f (- n 1)))))

(define (sort-step l f)
  (cond ((eq? l '()) '())
        ((eq? (cdr l) '()) (list (car l)))
        ((f (car l) (cadr l)) (cons (car l) (sort-step (cdr l) f)))
        (else (cons (cadr l) (sort-step (cons (car l) (cddr l)) f)))))

How to use self-compose with sort-step to sort? Tried:

(define (sort-f l f)
  (self-compose (sort-step l f) (length l)))

test:

(sort-f '(8 4 6 5 3) >)  ===> arity mismatch;
the expected number of arguments does not match the given number
  expected: 1
  given: 0



How to use self-compose with sort-step to sort

Aucun commentaire:

Enregistrer un commentaire