git.fiddlerwoaroof.com
package.lisp
ed0a12cf
 ;;;; package.lisp
 
 (in-package :fwoar.sp-user)
 
 (defmacro define-package (name &body arguments)
   (let ((uses (cons :use
 		    (union '(:cl :alexandria :serapeum)
 			   (cdr (assoc :use arguments))))))
     `(eval-when (:compile-toplevel :load-toplevel :execute)
        (defpackage ,name
 	 ,uses
 	 ,@(remove :use arguments :key 'car)))))
 
 (define-package :stream-provider
   (:use :fw.lu)
   (:export
    #:get-stream-for
    #:stream-provider
    #:string-provider
    #:file-provider
    #:stream-key
    #:root
    #:streams
    #:with-storage-stream))