Code: Select all
;; Function composition.
(define (f<g= f g)
(expand (fn (a b) (f (g a) (g b))) 'f 'g))
((f<g= < last) '(a 2) '(b 3))
==> true
((f<g= < last) '(b 3) '(a 2))
==> nil
(set 'lst '((b 5) (a 2)))
(sort lst (f<g= < last))
==> ((a 2) (b 5))
(set 'lst '((a 2) (b 5)))
(sort lst (f<g= < last))
==> ((a 2) (b 5))
(set 'lst '((c 4) (b 5) (a 2)))
(sort lst (f<g= < last))
[ crashes ]