felix winkelmann wrote:
(warning, hack coming)

(use utils)

(cond-expand
(syntax-case
    (define-syntax (use* x)
      (syntax-case x ()
     ((_ ext ...)
      (perhaps-install (map syntax-object->datum #'(ext ...)))
      #'(require-extension ext ...)))))
(else
 (define-macro (use* . exts)
   (perhaps-install exts)
   `(require-extension ,@exts))))

(define-for-syntax (perhaps-install exts)
 (for-each
  (lambda (ext)
    (let ((sext (symbol->string ext)))
      (unless (or (extension-info ext)
           (feature? ext)
(file-exists? (make-pathname "." sext ##sys#load-dynamic-extension))
           (file-exists? (make-pathname (repository-path) sext
##sys#load-dynamic-extension)))
     (system* "chicken-setup ~a" ext) ) ) )
  exts))

Thanks! Copied to .csirc

Andre


_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to