scm: Add compose.
[mes.git] / module / mes / scm.mes
index 56906640af5502934b5561148552501ad6c6de71..e04e982c03e2476d72f64f2ca69f9b6b0524ccf2 100644 (file)
 (define (delq x lst)
   (filter (lambda (e) (not (eq? e x))) lst))
 
 (define (delq x lst)
   (filter (lambda (e) (not (eq? e x))) lst))
 
+(define (compose proc . rest)
+  (if (null? rest) proc
+      (lambda args
+        (proc (apply (apply compose rest) args)))))
+
 \f
 ;; Vector
 (define (vector . rest) (list->vector rest))
 \f
 ;; Vector
 (define (vector . rest) (list->vector rest))