File: fix-low.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 (74 lines) | stat: -rw-r--r-- 2,456 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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
; Part of Scheme 48 1.9.  See file COPYING for notices and license.

; Authors: Richard Kelsey, Jonathan Rees, Mike Sperber


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

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

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

(define closures (structure-ref built-in-structures closures))
(define bitwise (structure-ref built-in-structures bitwise))

;; For initial system
(define write-images (structure-ref built-in-structures write-images))
(define structure-refs (structure-ref built-in-structures structure-refs))
(define low-level (structure-ref built-in-structures low-level))

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

(define true-scheme (structure-ref built-in-structures scheme))


(define-structure scheme-level-0 scheme-level-0-interface
  (open true-scheme
	primitives		; only for extended-number?
	structure-refs)
  (access 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 (structure-ref 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
        (structure-ref built-in-structures bitwise)
        (structure-ref built-in-structures records)
        (structure-ref built-in-structures signals)
        (structure-ref built-in-structures features)
        (structure-ref built-in-structures templates)
	)
  (files ("../alt" primitives)
	 ("../alt" weak)))

; How about signals?