RosettaCodeData/Task/Function-composition/EchoLisp/function-composition-1.l

17 lines
411 B
Common Lisp
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;; By decreasing order of performance
;; 1) user definition : lambda and closure
(define (ucompose f g ) (lambda (x) ( f ( g x))))
(ucompose sin cos)
(🔒 λ (_x) (f (g _x)))
;; 2) built-in compose : lambda
(compose sin cos)
(λ (_#:g1002) (#apply-compose (#list #cos #sin) _#:g1002))
;; 3) compiled composition
(define (sincos x) (sin (cos x)))
sincos (λ (_x) ( #sin (#cos _x)))