File: mini-start.scm

package info (click to toggle)
scheme48 1.9.2-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 18,232 kB
  • sloc: lisp: 88,907; ansic: 87,519; sh: 3,224; makefile: 771
file content (21 lines) | stat: -rw-r--r-- 773 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
; Part of Scheme 48 1.9.  See file COPYING for notices and license.

; Authors: Richard Kelsey, Jonathan Rees

; Start up a system that has reified packages.
; COMMAND-PROCESSOR might be either the miniature one or the real one.

(define (start structs-thunk)
  (usual-resumer
   (lambda (arg)
     (initialize-interaction-environment! (structs-thunk))
     (command-processor #f arg))))

(define (initialize-interaction-environment! structs)
  (let ((scheme (cdr (assq 'scheme structs))))
    (let ((tower (delay (cons eval (scheme-report-environment 5)))))
      (set-interaction-environment!
         (make-simple-package (map cdr structs) #t tower 'interaction))
      (set-scheme-report-environment!
         5
	 (make-simple-package (list scheme) #t tower 'r5rs)))))