(define-library (scheme eval) (import (picrin base)) (define environment (let ((counter 0)) (lambda specs (let ((library-name `(picrin @@my-environment ,(string->symbol (number->string counter))))) (set! counter (+ counter 1)) (eval `(define-library ,library-name ,@(map (lambda (spec) `(import ,spec)) specs)) (library-environment (find-library '(scheme base)))) (library-environment (find-library library-name)))))) (export environment eval))