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