; Copyright (c) 1993-2008 by Richard Kelsey and Jonathan Rees. See file COPYING.


(define-structure low-structures low-structures-interface
  ;; Flatloaded
  (open ))

(define ascii built-in-structures:ascii)
(define simple-signals built-in-structures:simple-signals)
(define loopholes built-in-structures:loopholes)
(define escapes built-in-structures:escapes)
(define vm-exposure built-in-structures:vm-exposure)

; (define-structure locations locations-interface
;   (open scheme-level-2 ...))
(define locations built-in-structures:locations)

(define closures built-in-structures:closures)
(define bitwise built-in-structures:bitwise)

;; For initial system
(define write-images built-in-structures:write-images)
(define low-level built-in-structures:low-level)

;; For compiler
(define features built-in-structures:features)
(define code-vectors built-in-structures:code-vectors)
(define source-file-names
  built-in-structures:source-file-names)

(define true-scheme built-in-structures:scheme)


(define-structure scheme-level-0 scheme-level-0-interface
  (open true-scheme
	primitives		; only for extended-number?
	(modify true-scheme (prefix true-scheme:)))
  (files level-0))

(define-structure silly (export reverse-list->string)
  (open true-scheme)
  (begin (define (reverse-list->string l n)
	   (list->string (reverse l)))))

(define-structure cont-primitives
    (export make-continuation
	    continuation-length
	    continuation-ref
	    continuation-set!
	    continuation?)
  (open built-in-structures:primitives))

(define-structures ((primitives primitives-interface)
		    (primitives-internal (export maybe-handle-interrupt
						 raise-exception
						 get-exception-handler
						 ?start)))
  (open true-scheme
        cont-primitives
        built-in-structures:bitwise
        built-in-structures:records
        built-in-structures:signals
        built-in-structures:features
        built-in-structures:templates
	)
  (files ("../alt" primitives)
	 ("../alt" weak)))

; How about signals?

