fork download
  1. #lang racket
  2.  
  3. (require (only-in srfi/1 zip))
  4.  
  5. (provide map-take)
  6.  
  7. (define (map-take f pos lis1 . lists)
  8. (if (null? lists)
  9. (when (procedure? f)
  10. (let loop ((lis lis1) (acc '()))
  11. (with-handlers ((exn:fail:contract?
  12. (lambda (exn) (reverse acc))))
  13. (loop (cdr lis) (cons (f (take lis pos)) acc)))))
  14. (map-take f pos (apply zip (cons lis1 lists)))))
  15.  
  16.  
Success #stdin #stdout 0.6s 75084KB
stdin
Standard input is empty
stdout
Standard output is empty