>>28
LISPだと名前空間は問題にならないんでは?
CommonLispならpackageがあるし、各作業者が定義したファイルを
巨大な1関数として読みこむ(packageの前身?)こともできるでしょう。
packageみたいなのはschemeにも処理系毎に大抵ある。

packageが無くても環境を操作できる処理系があるとすれば、

(define PG-A
 (let ((env (load-environment "PG-A.scm")))
  (lambda(procedure-name . argument)
   (if (eq? 'import procedure-name)
    (apply find-environment (cons env argument))
    (apply (find-environment env procedure-name) argument)))))

(PG-A 'function1 arg) ;CommonLispのpackage名参照もどき

(define PG-A-function1 (PG-A 'import 'function1))
(PG-A-function1 arg) ;CommonLispのimportもどき