scsh-0.5/initial-packages.scm

95 lines
2.2 KiB
Scheme

; Copyright (c) 1993, 1994 Richard Kelsey and Jonathan Rees. See file COPYING.
; Packages involved in building the initial system.
; Access to values from packages and structures
(define-structure environments environments-interface
(open scheme-level-2
packages syntactic meta-types
fluids
locations ; contents
signals) ; error
(files (rts env)))
; EVAL and LOAD
(define-structure evaluation evaluation-interface
(open scheme-level-2
compiler
packages ;package-uid
environments ;package-for-load
closures ;make-closure
vm-exposure ;invoke-closure
scan ;noting-undefined-variables
signals fluids)
(files (rts eval)))
; Scheme = scheme-level-2 plus EVAL and friends
(define-module (make-scheme environments evaluation)
(define-structure scheme scheme-interface
(open scheme-level-2
environments
evaluation))
scheme)
; Command processor.
(define-module (make-mini-command scheme) ;copied from debug-packages.scm
(define-structure mini-command (export command-processor)
(open scheme
signals conditions handle
display-conditions)
(files (debug mini-command)))
mini-command)
; For building systems.
(define-module (make-initial-system scheme command)
(define-structure initial-system (export start)
(open scheme
command
interfaces ;make-simple-interface
packages ;make-simple-package
environments ;with-interaction-environment, etc.
scheme-level-2-internal ;usual-resumer
conditions handle ;error? with-handler
signals) ;error
(files (env start)))
initial-system)
; Utility to load packages following dependency links (OPEN and ACCESS)
(define-structure ensures-loaded ;Cf. (link-initial-system) and Makefile
(export ensure-loaded really-ensure-loaded)
(open scheme-level-2
packages
packages-internal
evaluation ;load
filenames
signals
environments ;with-interaction-environment
scan) ;scan-structures
(files (env load-package)))
; Things needed by the expression generated by REIFY-STRUCTURES.
(define-structure for-reification for-reification-interface
(open scheme-level-1
packages packages-internal
syntactic usual-macros
meta-types ;sexp->type
interfaces ;make-simple-interface
inline
tables)
(files (bcomp for-reify)))