|
3 | 3 |
|
4 | 4 | (define expand-err
|
5 | 5 | (lambda (ex continue)
|
6 |
| - (debug 'compile-error |
| 6 | + (define error-view |
7 | 7 | (if (vaquero-error? ex)
|
8 | 8 | (map (lambda (f) (vaquero-view (vaquero-send-atomic ex f))) '(name form to-text))
|
9 | 9 | (vaquero-view ex)))
|
10 |
| - (exit))) |
| 10 | + (vaquero-error 'expand-error error-view "Error expanding s-expression." ))) |
11 | 11 |
|
12 | 12 | (define (vaquero-expand code env)
|
13 | 13 | (define (expand x)
|
|
44 | 44 | (begin
|
45 | 45 | (hts! done-been-expanded p #t) ; FIXME modules should be importable more than once
|
46 | 46 | (vaquero-expand-use re-use env))))
|
47 |
| - (exit))) |
| 47 | + (vaquero-error 'expand-error code "Error expanding use statement." ))) |
48 | 48 | ((import)
|
49 | 49 | (if (check-vaquero-import code)
|
50 | 50 | (vaquero-expand-import code env)
|
51 |
| - (exit))) |
| 51 | + (vaquero-error 'expand-error code "Error expanding import statement." ))) |
52 | 52 | ((export)
|
53 | 53 | (if (check-vaquero-export code)
|
54 | 54 | (let ((names (cdr code))
|
55 | 55 | (setter! (vaquero-send-atomic env 'def!)))
|
56 | 56 | (vaquero-apply setter! (list 'vaquero-internal-exports names) 'null
|
57 | 57 | (lambda (v) code)
|
58 | 58 | expand-err))
|
59 |
| - (exit))) |
| 59 | + (vaquero-error 'expand-error code "Error expanding export statement." ))) |
60 | 60 | ((op)
|
61 | 61 | (let* ((noo-env (noob)) (nucode (map (lambda (c) (vaquero-expand c noo-env)) code)))
|
62 | 62 | ((vaquero-compile nucode) env top-cont expand-err)
|
|
70 | 70 | (let ((expanded (punt)))
|
71 | 71 | (prep-defs (cdr expanded) env top-cont expand-err)
|
72 | 72 | expanded)
|
73 |
| - (exit))) |
| 73 | + (vaquero-error 'expand-error code "Error expanding seq statement." ))) |
74 | 74 | ((let)
|
75 | 75 | (if (> (length code) 2)
|
76 | 76 | (cons head (vaquero-expand (cdr code) (noob)))
|
77 |
| - (exit))) |
| 77 | + (vaquero-error 'expand-error code "Error expanding let statement." ))) |
78 | 78 | ((wall)
|
79 | 79 | (if (> (length code) 2)
|
80 | 80 | (cons head (vaquero-expand (cdr code) (local-env)))
|
81 |
| - (exit))) |
| 81 | + (vaquero-error 'expand-error code "Error expanding wall statement." ))) |
82 | 82 | ((quote)
|
83 | 83 | (if (= (length code) 2)
|
84 | 84 | code
|
85 |
| - (exit))) |
| 85 | + (vaquero-error 'expand-error code "Error expanding quote statement." ))) |
86 | 86 | (else
|
87 | 87 | (if (symbol? head)
|
88 | 88 | (let ((obj (look-it-up head)))
|
|
114 | 114 | (define prog (read-expand-cache-prog path prog-env))
|
115 | 115 | (define use-err
|
116 | 116 | (lambda (e cont)
|
117 |
| - (debug 'use-error e) |
118 |
| - (exit))) |
| 117 | + (vaquero-error 'use-error code "Error expanding module."))) |
119 | 118 | (define (looker name)
|
120 | 119 | (lookup prog-env name top-cont use-err))
|
121 | 120 | (define exports (looker 'vaquero-internal-exports))
|
|
138 | 137 | (define import-names (cddr code))
|
139 | 138 | (define import-err
|
140 | 139 | (lambda (e cont)
|
141 |
| - (debug 'import-error e) |
142 |
| - (exit))) |
| 140 | + (vaquero-error 'import-error code "Error expanding module."))) |
143 | 141 | (define package (lookup env package-name top-cont import-err))
|
144 | 142 | (define def-env! (vaquero-send-atomic env 'def!))
|
145 | 143 | (define yargs
|
|
0 commit comments