Added fix for wpo bug from issue 386.
added fix for whole program/library compilation bug with help from @owaddell who originally reported the problem in issue 386. this bug arises from the way the parts of the combined library, and their binary dependencies, are invoked when one of the constituent libraries is invoked. consider, for example, a combined library that contains (A) and (B), where (B) depends on a binary library (C). depending on the sort order of (A) and (B), which may be unconstrained in the partial ordering established by library dependencies, invoking (A) may result in the invoke code for (B) being run first, without (B) ever being explicitly invoked. this can result in bindings required from (C) by the invoke code in (B) to be unbound. even in the case where (A) comes before (B) in the topological sort, if they are combined into the same cluster, (B)'s invoke code will be run as part of invoking (A). the solution is two part: first we extend the invoke requirements of the first library in the cluster to include the binary libraries that precede it in the topological sort and add a dependency on the first library in the cluster to all of the other libraries in the cluster. this means no matter which library in the cluster is invoked first, it will cause the first library to be invoked, in turn ensuring the binary libraries that precede it are invoked. when there are multiple clusters, a dependency is added from each cluster to the first library in the cluster that precedes it. this ensures that invoking a library in a later cluster first, will still cause all of the dependencies of the previous clusters to be invoked. ultimately, these extra dependencies enforce an ordering on the invocation of the source and binary libraries that matches the topological sort, even if the topological sort was under constrained. to maintain the property that import requirements are a superset of the invoke and visit requirements, we also extend the import requirements to include the extended invoke requirements. the import requirements are also added to the dependency graph to further constrain the topological sort and ensure that we do not introduce artificial cycles in the import graph. compile.ss, 7.ms, root-experr*, patch* original commit: 09bba001a33a5ee9268f1e5cf0cc118e8a2eec7f
This commit is contained in:
parent
3256166f97
commit
38d1000f70
35
LOG
35
LOG
|
@ -1152,3 +1152,38 @@
|
|||
syntax.ss, primdata.ss,
|
||||
8.ms,
|
||||
libraries.stex
|
||||
- added fix for whole program/library compilation bug with help from
|
||||
@owaddell who originally reported the problem in issue 386. this bug
|
||||
arises from the way the parts of the combined library, and their
|
||||
binary dependencies, are invoked when one of the constituent libraries
|
||||
is invoked. consider, for example, a combined library that contains
|
||||
(A) and (B), where (B) depends on a binary library (C). depending on
|
||||
the sort order of (A) and (B), which may be unconstrained in the
|
||||
partial ordering established by library dependencies, invoking (A) may
|
||||
result in the invoke code for (B) being run first, without (B) ever
|
||||
being explicitly invoked. this can result in bindings required from
|
||||
(C) by the invoke code in (B) to be unbound. even in the case where
|
||||
(A) comes before (B) in the topological sort, if they are combined
|
||||
into the same cluster, (B)'s invoke code will be run as part of
|
||||
invoking (A). the solution is two part: first we extend the invoke
|
||||
requirements of the first library in the cluster to include the binary
|
||||
libraries that precede it in the topological sort and add a dependency
|
||||
on the first library in the cluster to all of the other libraries in
|
||||
the cluster. this means no matter which library in the cluster is
|
||||
invoked first, it will cause the first library to be invoked, in turn
|
||||
ensuring the binary libraries that precede it are invoked. when there
|
||||
are multiple clusters, a dependency is added from each cluster to the
|
||||
first library in the cluster that precedes it. this ensures that
|
||||
invoking a library in a later cluster first, will still cause all of
|
||||
the dependencies of the previous clusters to be invoked. ultimately,
|
||||
these extra dependencies enforce an ordering on the invocation of the
|
||||
source and binary libraries that matches the topological sort, even if
|
||||
the topological sort was under constrained. to maintain the property
|
||||
that import requirements are a superset of the invoke and visit
|
||||
requirements, we also extend the import requirements to include the
|
||||
extended invoke requirements. the import requirements are also added
|
||||
to the dependency graph to further constrain the topological sort and
|
||||
ensure that we do not introduce artificial cycles in the import graph.
|
||||
compile.ss,
|
||||
7.ms,
|
||||
root-experr*, patch*
|
||||
|
|
512
mats/7.ms
512
mats/7.ms
|
@ -3359,6 +3359,518 @@ evaluating module init
|
|||
(equal?
|
||||
(separate-eval '(let () (import (testfile-wpo-extlib-2)) (p)))
|
||||
"(9 . 5)\n")
|
||||
|
||||
;; regression tests from @owaddell generated to fix problems he encountered
|
||||
;; with compile-whole-library from a test generator.
|
||||
(begin
|
||||
(with-output-to-file "testfile-wpo-coconut.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-coconut)
|
||||
(export coconut apple->coconut)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define apple->coconut (cons 'apple->coconut $init))
|
||||
(define coconut (list 'coconut apple->coconut $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-banana.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-banana)
|
||||
(export banana apple->banana)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define apple->banana (cons 'apple->banana $init))
|
||||
(define banana (list 'banana apple->banana $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-apple.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-apple)
|
||||
(export apple)
|
||||
(import (scheme) (testfile-wpo-banana) (testfile-wpo-coconut))
|
||||
(define $init
|
||||
(list
|
||||
'_
|
||||
(cons 'apple->banana apple->banana)
|
||||
(cons 'apple->coconut apple->coconut)))
|
||||
(define apple (list 'apple $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-main.ss"
|
||||
(lambda ()
|
||||
(pretty-print '(import (scheme) (testfile-wpo-banana) (testfile-wpo-coconut) (testfile-wpo-apple)))
|
||||
(pretty-print '(pretty-print banana))
|
||||
(pretty-print '(pretty-print coconut))
|
||||
(pretty-print '(pretty-print apple)))
|
||||
'replace)
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([compile-imported-libraries #t]
|
||||
[generate-wpo-files #t])
|
||||
(compile-program x)))
|
||||
'wpo-main)
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-coconut)
|
||||
"()\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-apple)
|
||||
"((testfile-wpo-coconut))\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-banana.wpo")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
(delete-file "testfile-wpo-banana.so")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (if (equal? name '(testfile-wpo-banana))
|
||||
'(testfile-wpo-apple)
|
||||
name)
|
||||
dirs exts)))])
|
||||
(compile-whole-program (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-main)
|
||||
"((testfile-wpo-apple)\n (testfile-wpo-banana)\n (testfile-wpo-coconut))\n")
|
||||
|
||||
(equal?
|
||||
(separate-eval
|
||||
'(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (if (equal? name '(testfile-wpo-banana))
|
||||
'(testfile-wpo-apple)
|
||||
name)
|
||||
dirs exts)))])
|
||||
(load-program "testfile-wpo-main.so")))
|
||||
(string-append
|
||||
"(banana (apple->banana _) (_))\n"
|
||||
"(coconut (apple->coconut _) (_))\n"
|
||||
"(apple\n (_ (apple->banana apple->banana _)\n (apple->coconut apple->coconut _)))\n"))
|
||||
|
||||
(begin
|
||||
;; clean-up to make sure previous builds don't get in the way.
|
||||
(delete-file "testfile-wpo-coconut.ss")
|
||||
(delete-file "testfile-wpo-coconut.so")
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-banana.ss")
|
||||
(delete-file "testfile-wpo-banana.so")
|
||||
(delete-file "testfile-wpo-banana.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-apple.ss")
|
||||
(delete-file "testfile-wpo-apple.so")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-main.ss")
|
||||
(delete-file "testfile-wpo-main.so")
|
||||
(delete-file "testfile-wpo-main.wpo")
|
||||
|
||||
#t)
|
||||
|
||||
(begin
|
||||
(with-output-to-file "testfile-wpo-coconut.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-coconut)
|
||||
(export coconut banana->coconut apple->coconut)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define banana->coconut (cons 'banana->coconut $init))
|
||||
(define apple->coconut (cons 'apple->coconut $init))
|
||||
(define coconut
|
||||
(list 'coconut banana->coconut apple->coconut $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-date.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-date)
|
||||
(export date apple->date)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define apple->date (cons 'apple->date $init))
|
||||
(define date (list 'date apple->date $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-apple.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-apple)
|
||||
(export apple)
|
||||
(import (scheme) (testfile-wpo-date) (testfile-wpo-coconut))
|
||||
(define $init
|
||||
(list
|
||||
'_
|
||||
(cons 'apple->date apple->date)
|
||||
(cons 'apple->coconut apple->coconut)))
|
||||
(define apple (list 'apple $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-banana.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-banana)
|
||||
(export banana)
|
||||
(import (scheme) (testfile-wpo-coconut))
|
||||
(define $init
|
||||
(list '_ (cons 'banana->coconut banana->coconut)))
|
||||
(define banana (list 'banana $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-main.ss"
|
||||
(lambda ()
|
||||
(pretty-print '(import (scheme) (testfile-wpo-date)
|
||||
(testfile-wpo-banana) (testfile-wpo-coconut)
|
||||
(testfile-wpo-apple)))
|
||||
(pretty-print '(pretty-print date))
|
||||
(pretty-print '(pretty-print banana))
|
||||
(pretty-print '(pretty-print coconut))
|
||||
(pretty-print '(pretty-print apple)))
|
||||
'replace)
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([compile-imported-libraries #t]
|
||||
[generate-wpo-files #t])
|
||||
(compile-program x)))
|
||||
'wpo-main)
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-coconut)
|
||||
"()\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-apple)
|
||||
"((testfile-wpo-coconut))\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-date.wpo")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
(delete-file "testfile-wpo-date.so")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (if (equal? name '(testfile-wpo-date))
|
||||
'(testfile-wpo-apple)
|
||||
name)
|
||||
dirs exts)))])
|
||||
(compile-whole-program (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-main)
|
||||
"((testfile-wpo-apple)\n (testfile-wpo-date)\n (testfile-wpo-coconut))\n")
|
||||
|
||||
(equal?
|
||||
(separate-eval
|
||||
'(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (if (equal? name '(testfile-wpo-date))
|
||||
'(testfile-wpo-apple)
|
||||
name)
|
||||
dirs exts)))])
|
||||
(load-program "testfile-wpo-main.so")))
|
||||
(string-append
|
||||
"(date (apple->date _) (_))\n"
|
||||
"(banana (_ (banana->coconut banana->coconut _)))\n"
|
||||
"(coconut (banana->coconut _) (apple->coconut _) (_))\n"
|
||||
"(apple\n"
|
||||
" (_ (apple->date apple->date _)\n"
|
||||
" (apple->coconut apple->coconut _)))\n"))
|
||||
|
||||
(begin
|
||||
;; clean-up to make sure previous builds don't get in the way.
|
||||
(delete-file "testfile-wpo-coconut.ss")
|
||||
(delete-file "testfile-wpo-coconut.so")
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-date.ss")
|
||||
(delete-file "testfile-wpo-date.so")
|
||||
(delete-file "testfile-wpo-date.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-banana.ss")
|
||||
(delete-file "testfile-wpo-banana.so")
|
||||
(delete-file "testfile-wpo-banana.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-apple.ss")
|
||||
(delete-file "testfile-wpo-apple.so")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-main.ss")
|
||||
(delete-file "testfile-wpo-main.so")
|
||||
(delete-file "testfile-wpo-main.wpo")
|
||||
|
||||
#t)
|
||||
|
||||
(begin
|
||||
(with-output-to-file "testfile-wpo-date.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-date)
|
||||
(export date apple->date)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define apple->date (cons 'apple->date $init))
|
||||
(define date (list 'date apple->date $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-eel.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-eel)
|
||||
(export eel coconut->eel apple->eel)
|
||||
(import (scheme))
|
||||
(define $init (list '_))
|
||||
(define coconut->eel (cons 'coconut->eel $init))
|
||||
(define apple->eel (cons 'apple->eel $init))
|
||||
(define eel (list 'eel coconut->eel apple->eel $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-coconut.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-coconut)
|
||||
(export coconut banana->coconut apple->coconut)
|
||||
(import (scheme) (testfile-wpo-eel))
|
||||
(define $init (list '_ (cons 'coconut->eel coconut->eel)))
|
||||
(define banana->coconut (cons 'banana->coconut $init))
|
||||
(define apple->coconut (cons 'apple->coconut $init))
|
||||
(define coconut
|
||||
(list 'coconut banana->coconut apple->coconut $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-apple.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-apple)
|
||||
(export apple)
|
||||
(import (scheme) (testfile-wpo-date) (testfile-wpo-coconut)
|
||||
(testfile-wpo-eel))
|
||||
(define $init
|
||||
(list
|
||||
'_
|
||||
(cons 'apple->date apple->date)
|
||||
(cons 'apple->coconut apple->coconut)
|
||||
(cons 'apple->eel apple->eel)))
|
||||
(define apple (list 'apple $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-banana.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-wpo-banana)
|
||||
(export banana)
|
||||
(import (scheme) (testfile-wpo-coconut))
|
||||
(define $init
|
||||
(list '_ (cons 'banana->coconut banana->coconut)))
|
||||
(define banana (list 'banana $init)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-wpo-main.ss"
|
||||
(lambda ()
|
||||
(pretty-print '(import (scheme) (testfile-wpo-date)
|
||||
(testfile-wpo-banana) (testfile-wpo-coconut)
|
||||
(testfile-wpo-apple) (testfile-wpo-eel)))
|
||||
(pretty-print '(pretty-print date))
|
||||
(pretty-print '(pretty-print banana))
|
||||
(pretty-print '(pretty-print coconut))
|
||||
(pretty-print '(pretty-print apple))
|
||||
(pretty-print '(pretty-print eel)))
|
||||
'replace)
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([compile-imported-libraries #t]
|
||||
[generate-wpo-files #t])
|
||||
(compile-program x)))
|
||||
'wpo-main)
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-coconut)
|
||||
"()\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-eel.wpo")
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
(delete-file "testfile-wpo-eel.so")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([generate-wpo-files #f]
|
||||
[library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (if (equal? name '(testfile-wpo-eel))
|
||||
'(testfile-wpo-coconut)
|
||||
name)
|
||||
dirs exts)))])
|
||||
(compile-whole-library (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-apple)
|
||||
"((testfile-wpo-coconut) (testfile-wpo-eel))\n")
|
||||
|
||||
(begin
|
||||
(delete-file "testfile-wpo-date.wpo")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
(delete-file "testfile-wpo-date.so")
|
||||
#t)
|
||||
|
||||
(equal?
|
||||
(separate-compile
|
||||
'(lambda (x)
|
||||
(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (cond
|
||||
[(equal? name '(testfile-wpo-date)) '(testfile-wpo-apple)]
|
||||
[(equal? name '(testfile-wpo-eel)) '(testfile-wpo-coconut)]
|
||||
[else name])
|
||||
dirs exts)))])
|
||||
(compile-whole-program (format "~a.wpo" x) (format "~a.so" x))))
|
||||
'wpo-main)
|
||||
"((testfile-wpo-apple)\n (testfile-wpo-date)\n (testfile-wpo-coconut)\n (testfile-wpo-eel))\n")
|
||||
|
||||
(equal?
|
||||
(separate-eval
|
||||
'(parameterize ([library-search-handler
|
||||
(let ([lsh (library-search-handler)])
|
||||
(lambda (who name dirs exts)
|
||||
(lsh who (cond
|
||||
[(equal? name '(testfile-wpo-date)) '(testfile-wpo-apple)]
|
||||
[(equal? name '(testfile-wpo-eel)) '(testfile-wpo-coconut)]
|
||||
[else name])
|
||||
dirs exts)))])
|
||||
(load-program "testfile-wpo-main.so")))
|
||||
(string-append
|
||||
"(date (apple->date _) (_))\n"
|
||||
"(banana\n"
|
||||
" (_ (banana->coconut\n"
|
||||
" banana->coconut\n"
|
||||
" _\n"
|
||||
" (coconut->eel coconut->eel _))))\n"
|
||||
"(coconut\n"
|
||||
" (banana->coconut _ (coconut->eel coconut->eel _))\n"
|
||||
" (apple->coconut _ (coconut->eel coconut->eel _))\n"
|
||||
" (_ (coconut->eel coconut->eel _)))\n"
|
||||
"(apple\n"
|
||||
" (_ (apple->date apple->date _)\n"
|
||||
" (apple->coconut\n"
|
||||
" apple->coconut\n"
|
||||
" _\n"
|
||||
" (coconut->eel coconut->eel _))\n"
|
||||
" (apple->eel apple->eel _)))\n"
|
||||
"(eel (coconut->eel _) (apple->eel _) (_))\n"))
|
||||
|
||||
(begin
|
||||
;; clean-up to make sure previous builds don't get in the way.
|
||||
(delete-file "testfile-wpo-coconut.ss")
|
||||
(delete-file "testfile-wpo-coconut.so")
|
||||
(delete-file "testfile-wpo-coconut.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-eel.ss")
|
||||
(delete-file "testfile-wpo-eel.so")
|
||||
(delete-file "testfile-wpo-eel.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-date.ss")
|
||||
(delete-file "testfile-wpo-date.so")
|
||||
(delete-file "testfile-wpo-date.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-banana.ss")
|
||||
(delete-file "testfile-wpo-banana.so")
|
||||
(delete-file "testfile-wpo-banana.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-apple.ss")
|
||||
(delete-file "testfile-wpo-apple.so")
|
||||
(delete-file "testfile-wpo-apple.wpo")
|
||||
|
||||
(delete-file "testfile-wpo-main.ss")
|
||||
(delete-file "testfile-wpo-main.so")
|
||||
(delete-file "testfile-wpo-main.wpo")
|
||||
|
||||
#t)
|
||||
|
||||
(begin
|
||||
(with-output-to-file "testfile-deja-vu-one.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-deja-vu-one)
|
||||
(export a)
|
||||
(import (scheme))
|
||||
(define a 3))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-deja-vu-two.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-deja-vu-two)
|
||||
(export b)
|
||||
(import (scheme) (testfile-deja-vu-one))
|
||||
(define b (list 'b a)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-deja-vu-dup.ss"
|
||||
(lambda ()
|
||||
(pretty-print
|
||||
'(library (testfile-deja-vu-dup)
|
||||
(export d)
|
||||
(import (scheme) (testfile-deja-vu-one))
|
||||
(define d (list a 'd)))))
|
||||
'replace)
|
||||
(with-output-to-file "testfile-deja-vu-main.ss"
|
||||
(lambda ()
|
||||
(for-each pretty-print
|
||||
'((import (scheme) (testfile-deja-vu-one) (testfile-deja-vu-two) (testfile-deja-vu-dup))
|
||||
(pretty-print (list a b d)))))
|
||||
'replace)
|
||||
(separate-eval
|
||||
'(parameterize ([generate-wpo-files #t])
|
||||
(compile-library "testfile-deja-vu-one")
|
||||
(compile-library "testfile-deja-vu-two")
|
||||
(compile-library "testfile-deja-vu-dup")
|
||||
(compile-program "testfile-deja-vu-main")
|
||||
(compile-whole-library "testfile-deja-vu-one.wpo" "testfile-deja-vu-one.done")
|
||||
(compile-whole-library "testfile-deja-vu-two.wpo" "testfile-deja-vu-two.done")
|
||||
(compile-whole-library "testfile-deja-vu-dup.wpo" "testfile-deja-vu-dup.done")))
|
||||
#t)
|
||||
|
||||
(error?
|
||||
(separate-eval
|
||||
'(compile-whole-program "testfile-deja-vu-main.wpo" "testfile-deja-vu-main.done")))
|
||||
|
||||
(begin
|
||||
(do ([stem '("one" "two" "dup" "main") (cdr stem)]) ((null? stem))
|
||||
(do ([ext '("ss" "so" "wpo" "done") (cdr ext)]) ((null? ext))
|
||||
(delete-file (format "testfile-deja-vu-~a.~a" (car stem) (car ext)))))
|
||||
#t)
|
||||
|
||||
)
|
||||
|
||||
(mat maybe-compile-whole
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2019-02-11 17:18:14.000000000 -0800
|
||||
--- errors-compile-0-f-t-f 2019-02-11 16:37:31.000000000 -0800
|
||||
*** errors-compile-0-f-f-f 2019-03-15 12:05:55.397368315 -0400
|
||||
--- errors-compile-0-f-t-f 2019-03-15 11:24:12.070638664 -0400
|
||||
***************
|
||||
*** 125,131 ****
|
||||
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
|
||||
|
@ -75,7 +75,7 @@
|
|||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable b".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
|
||||
***************
|
||||
*** 7169,7176 ****
|
||||
*** 7170,7177 ****
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat error: "a: hit me!".
|
||||
7.mo:Expected error in mat error: "f: n is 0".
|
||||
|
@ -84,7 +84,7 @@
|
|||
record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float".
|
||||
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
|
||||
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
|
||||
--- 7169,7176 ----
|
||||
--- 7170,7177 ----
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat error: "a: hit me!".
|
||||
7.mo:Expected error in mat error: "f: n is 0".
|
||||
|
@ -94,7 +94,7 @@
|
|||
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
|
||||
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
|
||||
***************
|
||||
*** 7178,7192 ****
|
||||
*** 7179,7193 ****
|
||||
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
|
||||
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
|
||||
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
|
||||
|
@ -110,7 +110,7 @@
|
|||
record.mo:Expected error in mat record9: "record-reader: invalid input #f".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
--- 7178,7192 ----
|
||||
--- 7179,7193 ----
|
||||
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
|
||||
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
|
||||
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
|
||||
|
@ -127,7 +127,7 @@
|
|||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
***************
|
||||
*** 7199,7224 ****
|
||||
*** 7200,7225 ****
|
||||
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
|
@ -154,7 +154,7 @@
|
|||
record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
|
||||
--- 7199,7224 ----
|
||||
--- 7200,7225 ----
|
||||
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
|
@ -182,7 +182,7 @@
|
|||
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
|
||||
***************
|
||||
*** 7349,7387 ****
|
||||
*** 7350,7388 ****
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
|
||||
|
@ -222,7 +222,7 @@
|
|||
record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
|
||||
--- 7349,7387 ----
|
||||
--- 7350,7388 ----
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
|
||||
|
@ -263,7 +263,7 @@
|
|||
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
|
||||
***************
|
||||
*** 7396,7452 ****
|
||||
*** 7397,7453 ****
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
|
||||
|
@ -321,7 +321,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
|
||||
--- 7396,7452 ----
|
||||
--- 7397,7453 ----
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2019-03-11 19:59:53.911104400 -0400
|
||||
--- errors-compile-0-t-f-f 2019-03-11 19:00:02.489317145 -0400
|
||||
*** errors-compile-0-f-f-f 2019-03-15 12:05:55.397368315 -0400
|
||||
--- errors-compile-0-t-f-f 2019-03-15 11:33:18.696675715 -0400
|
||||
***************
|
||||
*** 93,99 ****
|
||||
3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #<procedure foo>".
|
||||
|
@ -4252,9 +4252,9 @@
|
|||
7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-a4) not found
|
||||
7.mo:Expected error in mat compile-whole-program: "separate-eval: Exception: library (testfile-wpo-c4) not found
|
||||
***************
|
||||
*** 7067,7093 ****
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-c6) not found
|
||||
*** 7068,7094 ****
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo"
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol".
|
||||
! 7.mo:Expected error in mat top-level-value-functions: "incorrect argument count in call (top-level-bound?)".
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: 45 is not a symbol".
|
||||
|
@ -4280,9 +4280,9 @@
|
|||
7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: hello is not an environment".
|
||||
7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: #<environment *scheme*> is not a symbol".
|
||||
7.mo:Expected error in mat top-level-value-functions: "variable i-am-not-bound-i-hope is not bound".
|
||||
--- 7067,7093 ----
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-c6) not found
|
||||
--- 7068,7094 ----
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo"
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol".
|
||||
! 7.mo:Expected error in mat top-level-value-functions: "incorrect number of arguments to #<procedure top-level-bound?>".
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: 45 is not a symbol".
|
||||
|
@ -4309,7 +4309,7 @@
|
|||
7.mo:Expected error in mat top-level-value-functions: "define-top-level-value: #<environment *scheme*> is not a symbol".
|
||||
7.mo:Expected error in mat top-level-value-functions: "variable i-am-not-bound-i-hope is not bound".
|
||||
***************
|
||||
*** 7492,7602 ****
|
||||
*** 7493,7603 ****
|
||||
hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable".
|
||||
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #<procedure>".
|
||||
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #<procedure>".
|
||||
|
@ -4421,7 +4421,7 @@
|
|||
hash.mo:Expected error in mat hashtable-arguments: "hashtable-ephemeron?: (hash . table) is not a hashtable".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function #<procedure> return value "oops" for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function #<procedure> return value 3.5 for any".
|
||||
--- 7492,7602 ----
|
||||
--- 7493,7603 ----
|
||||
hash.mo:Expected error in mat old-hash-table: "hash-table-for-each: ((a . b)) is not an eq hashtable".
|
||||
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #<procedure>".
|
||||
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments to #<procedure>".
|
||||
|
@ -4534,7 +4534,7 @@
|
|||
hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function #<procedure> return value "oops" for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-ref: invalid hash-function #<procedure> return value 3.5 for any".
|
||||
***************
|
||||
*** 7616,7722 ****
|
||||
*** 7617,7723 ****
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value "oops" for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value 3.5 for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value 1+2i for any".
|
||||
|
@ -4642,7 +4642,7 @@
|
|||
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument -1".
|
||||
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #t".
|
||||
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #f".
|
||||
--- 7616,7722 ----
|
||||
--- 7617,7723 ----
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value "oops" for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value 3.5 for any".
|
||||
hash.mo:Expected error in mat hash-return-value: "hashtable-delete!: invalid hash-function #<procedure> return value 1+2i for any".
|
||||
|
@ -4751,7 +4751,7 @@
|
|||
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #t".
|
||||
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-ephemeron-eqv-hashtable: invalid size argument #f".
|
||||
***************
|
||||
*** 7724,7739 ****
|
||||
*** 7725,7740 ****
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-delete!: #<hashtable> is not mutable".
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: #<hashtable> is not mutable".
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: #<hashtable> is not mutable".
|
||||
|
@ -4768,7 +4768,7 @@
|
|||
hash.mo:Expected error in mat hash-functions: "string-ci-hash: hello is not a string".
|
||||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<eqv hashtable>".
|
||||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<hashtable>".
|
||||
--- 7724,7739 ----
|
||||
--- 7725,7740 ----
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-delete!: #<hashtable> is not mutable".
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: #<hashtable> is not mutable".
|
||||
hash.mo:Expected error in mat generic-hashtable: "hashtable-update!: #<hashtable> is not mutable".
|
||||
|
@ -4786,7 +4786,7 @@
|
|||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<eqv hashtable>".
|
||||
hash.mo:Expected error in mat fasl-other-hashtable: "fasl-write: invalid fasl object #<hashtable>".
|
||||
***************
|
||||
*** 7849,7856 ****
|
||||
*** 7850,7857 ****
|
||||
8.mo:Expected error in mat with-syntax: "invalid syntax a".
|
||||
8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)".
|
||||
8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)".
|
||||
|
@ -4795,7 +4795,7 @@
|
|||
8.mo:Expected error in mat generate-temporaries: "generate-temporaries: improper list structure (a b . c)".
|
||||
8.mo:Expected error in mat generate-temporaries: "generate-temporaries: cyclic list structure (a b c b c b ...)".
|
||||
8.mo:Expected error in mat syntax->list: "syntax->list: invalid argument #<syntax a>".
|
||||
--- 7849,7856 ----
|
||||
--- 7850,7857 ----
|
||||
8.mo:Expected error in mat with-syntax: "invalid syntax a".
|
||||
8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)".
|
||||
8.mo:Expected error in mat with-syntax: "duplicate pattern variable x in (x x)".
|
||||
|
@ -4805,7 +4805,7 @@
|
|||
8.mo:Expected error in mat generate-temporaries: "generate-temporaries: cyclic list structure (a b c b c b ...)".
|
||||
8.mo:Expected error in mat syntax->list: "syntax->list: invalid argument #<syntax a>".
|
||||
***************
|
||||
*** 8446,8461 ****
|
||||
*** 8447,8462 ****
|
||||
8.mo:Expected error in mat rnrs-eval: "attempt to assign unbound identifier foo".
|
||||
8.mo:Expected error in mat rnrs-eval: "invalid definition in immutable environment (define cons (quote #<procedure vector>))".
|
||||
8.mo:Expected error in mat top-level-syntax-functions: "top-level-syntax: "hello" is not a symbol".
|
||||
|
@ -4822,7 +4822,7 @@
|
|||
8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: hello is not an environment".
|
||||
8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: #<environment *scheme*> is not a symbol".
|
||||
8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: cannot modify immutable environment #<environment *scheme*>".
|
||||
--- 8446,8461 ----
|
||||
--- 8447,8462 ----
|
||||
8.mo:Expected error in mat rnrs-eval: "attempt to assign unbound identifier foo".
|
||||
8.mo:Expected error in mat rnrs-eval: "invalid definition in immutable environment (define cons (quote #<procedure vector>))".
|
||||
8.mo:Expected error in mat top-level-syntax-functions: "top-level-syntax: "hello" is not a symbol".
|
||||
|
@ -4840,7 +4840,7 @@
|
|||
8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: #<environment *scheme*> is not a symbol".
|
||||
8.mo:Expected error in mat top-level-syntax-functions: "define-top-level-syntax: cannot modify immutable environment #<environment *scheme*>".
|
||||
***************
|
||||
*** 8554,8576 ****
|
||||
*** 8555,8577 ****
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: (a) is not a fixnum".
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: <-int> is not a fixnum".
|
||||
|
@ -4864,7 +4864,7 @@
|
|||
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #<procedure $fxu<>".
|
||||
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #<procedure $fxu<>".
|
||||
fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum".
|
||||
--- 8554,8576 ----
|
||||
--- 8555,8577 ----
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: (a) is not a fixnum".
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx=?: "fx=?: <-int> is not a fixnum".
|
||||
|
@ -4889,7 +4889,7 @@
|
|||
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments to #<procedure $fxu<>".
|
||||
fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum".
|
||||
***************
|
||||
*** 8602,8614 ****
|
||||
*** 8603,8615 ****
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -4903,7 +4903,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
--- 8602,8614 ----
|
||||
--- 8603,8615 ----
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -4918,7 +4918,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
***************
|
||||
*** 8658,8670 ****
|
||||
*** 8659,8671 ****
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: a is not a fixnum".
|
||||
|
@ -4932,7 +4932,7 @@
|
|||
fx.mo:Expected error in mat fxmax: "fxmax: a is not a fixnum".
|
||||
fx.mo:Expected error in mat fxmax: "fxmax: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxmax: "fxmax: <-int> is not a fixnum".
|
||||
--- 8658,8670 ----
|
||||
--- 8659,8671 ----
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx1+: "fx1+: a is not a fixnum".
|
||||
|
@ -4947,7 +4947,7 @@
|
|||
fx.mo:Expected error in mat fxmax: "fxmax: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxmax: "fxmax: <-int> is not a fixnum".
|
||||
***************
|
||||
*** 8762,8771 ****
|
||||
*** 8763,8772 ****
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <int> and 10".
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments -4097 and <int>".
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <-int> and 1".
|
||||
|
@ -4958,7 +4958,7 @@
|
|||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: 35.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: 5.0 is not a valid start index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: 8.0 is not a valid end index".
|
||||
--- 8762,8771 ----
|
||||
--- 8763,8772 ----
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <int> and 10".
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments -4097 and <int>".
|
||||
fx.mo:Expected error in mat fxarithmetic-shift: "fxarithmetic-shift: fixnum overflow with arguments <-int> and 1".
|
||||
|
@ -4970,7 +4970,7 @@
|
|||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: 5.0 is not a valid start index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: 8.0 is not a valid end index".
|
||||
***************
|
||||
*** 8779,8812 ****
|
||||
*** 8780,8813 ****
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid end index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid start index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid end index".
|
||||
|
@ -5005,7 +5005,7 @@
|
|||
fx.mo:Expected error in mat fxif: "fxif: a is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: 3.4 is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: (a) is not a fixnum".
|
||||
--- 8779,8812 ----
|
||||
--- 8780,8813 ----
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid end index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid start index".
|
||||
fx.mo:Expected error in mat fxbit-field: "fxbit-field: <int> is not a valid end index".
|
||||
|
@ -5041,7 +5041,7 @@
|
|||
fx.mo:Expected error in mat fxif: "fxif: 3.4 is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: (a) is not a fixnum".
|
||||
***************
|
||||
*** 8816,8859 ****
|
||||
*** 8817,8860 ****
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
|
@ -5086,7 +5086,7 @@
|
|||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: 3.4 is not a fixnum".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: "3" is not a fixnum".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: <int> is not a fixnum".
|
||||
--- 8816,8859 ----
|
||||
--- 8817,8860 ----
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fxif: "fxif: <-int> is not a fixnum".
|
||||
|
@ -5132,7 +5132,7 @@
|
|||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: "3" is not a fixnum".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: <int> is not a fixnum".
|
||||
***************
|
||||
*** 8862,8872 ****
|
||||
*** 8863,8873 ****
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index -1".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index <int>".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index <int>".
|
||||
|
@ -5144,7 +5144,7 @@
|
|||
fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: "3" is not a fixnum".
|
||||
fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3.4 is not a valid start index".
|
||||
fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3/4 is not a valid end index".
|
||||
--- 8862,8872 ----
|
||||
--- 8863,8873 ----
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index -1".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index <int>".
|
||||
fx.mo:Expected error in mat fxcopy-bit: "fxcopy-bit: invalid bit index <int>".
|
||||
|
@ -5157,7 +5157,7 @@
|
|||
fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3.4 is not a valid start index".
|
||||
fx.mo:Expected error in mat fxcopy-bit-field: "fxcopy-bit-field: 3/4 is not a valid end index".
|
||||
***************
|
||||
*** 8926,8935 ****
|
||||
*** 8927,8936 ****
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: (a) is not a fixnum".
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0".
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0".
|
||||
|
@ -5168,7 +5168,7 @@
|
|||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: 1.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: 3.0 is not a fixnum".
|
||||
--- 8926,8935 ----
|
||||
--- 8927,8936 ----
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: (a) is not a fixnum".
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0".
|
||||
fx.mo:Expected error in mat fxdiv0-and-mod0: "fxmod0: undefined for 0".
|
||||
|
@ -5180,7 +5180,7 @@
|
|||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: 3.0 is not a fixnum".
|
||||
***************
|
||||
*** 8945,8954 ****
|
||||
*** 8946,8955 ****
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
|
@ -5191,7 +5191,7 @@
|
|||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: 1.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: 3.0 is not a fixnum".
|
||||
--- 8945,8954 ----
|
||||
--- 8946,8955 ----
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx+/carry: "fx+/carry: <-int> is not a fixnum".
|
||||
|
@ -5203,7 +5203,7 @@
|
|||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: 3.0 is not a fixnum".
|
||||
***************
|
||||
*** 8964,8973 ****
|
||||
*** 8965,8974 ****
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
|
@ -5214,7 +5214,7 @@
|
|||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: 1.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: 3.0 is not a fixnum".
|
||||
--- 8964,8973 ----
|
||||
--- 8965,8974 ----
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx-/carry: "fx-/carry: <-int> is not a fixnum".
|
||||
|
@ -5226,7 +5226,7 @@
|
|||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: 2.0 is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: 3.0 is not a fixnum".
|
||||
***************
|
||||
*** 8983,8993 ****
|
||||
*** 8984,8994 ****
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
|
@ -5238,7 +5238,7 @@
|
|||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: a is not a fixnum".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid start index 0.0".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index 2.0".
|
||||
--- 8983,8993 ----
|
||||
--- 8984,8994 ----
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*/carry: "fx*/carry: <-int> is not a fixnum".
|
||||
|
@ -5251,7 +5251,7 @@
|
|||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid start index 0.0".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index 2.0".
|
||||
***************
|
||||
*** 9010,9019 ****
|
||||
*** 9011,9020 ****
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: count 1 is greater than difference between end index 5 and start index 5".
|
||||
|
@ -5262,7 +5262,7 @@
|
|||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: a is not a fixnum".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid start index 0.0".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index 2.0".
|
||||
--- 9010,9019 ----
|
||||
--- 9011,9020 ----
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxrotate-bit-field: "fxrotate-bit-field: count 1 is greater than difference between end index 5 and start index 5".
|
||||
|
@ -5274,7 +5274,7 @@
|
|||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid start index 0.0".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index 2.0".
|
||||
***************
|
||||
*** 9029,9046 ****
|
||||
*** 9030,9047 ****
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <-int>".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: start index 7 is greater than end index 5".
|
||||
|
@ -5293,7 +5293,7 @@
|
|||
fl.mo:Expected error in mat fl=: "fl=: (a) is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: a is not a flonum".
|
||||
--- 9029,9046 ----
|
||||
--- 9030,9047 ----
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <int>".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: invalid end index <-int>".
|
||||
fx.mo:Expected error in mat fxreverse-bit-field: "fxreverse-bit-field: start index 7 is greater than end index 5".
|
||||
|
@ -5313,7 +5313,7 @@
|
|||
fl.mo:Expected error in mat fl=: "fl=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: a is not a flonum".
|
||||
***************
|
||||
*** 9048,9054 ****
|
||||
*** 9049,9055 ****
|
||||
fl.mo:Expected error in mat fl=: "fl=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum".
|
||||
|
@ -5321,7 +5321,7 @@
|
|||
fl.mo:Expected error in mat fl<: "fl<: (a) is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: a is not a flonum".
|
||||
--- 9048,9054 ----
|
||||
--- 9049,9055 ----
|
||||
fl.mo:Expected error in mat fl=: "fl=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl=: "fl=: 7/2 is not a flonum".
|
||||
|
@ -5330,7 +5330,7 @@
|
|||
fl.mo:Expected error in mat fl<: "fl<: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: a is not a flonum".
|
||||
***************
|
||||
*** 9056,9062 ****
|
||||
*** 9057,9063 ****
|
||||
fl.mo:Expected error in mat fl<: "fl<: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum".
|
||||
|
@ -5338,7 +5338,7 @@
|
|||
fl.mo:Expected error in mat fl>: "fl>: (a) is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: a is not a flonum".
|
||||
--- 9056,9062 ----
|
||||
--- 9057,9063 ----
|
||||
fl.mo:Expected error in mat fl<: "fl<: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<: "fl<: 7/2 is not a flonum".
|
||||
|
@ -5347,7 +5347,7 @@
|
|||
fl.mo:Expected error in mat fl>: "fl>: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: a is not a flonum".
|
||||
***************
|
||||
*** 9064,9070 ****
|
||||
*** 9065,9071 ****
|
||||
fl.mo:Expected error in mat fl>: "fl>: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum".
|
||||
|
@ -5355,7 +5355,7 @@
|
|||
fl.mo:Expected error in mat fl<=: "fl<=: (a) is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum".
|
||||
--- 9064,9070 ----
|
||||
--- 9065,9071 ----
|
||||
fl.mo:Expected error in mat fl>: "fl>: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>: "fl>: 7/2 is not a flonum".
|
||||
|
@ -5364,7 +5364,7 @@
|
|||
fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: a is not a flonum".
|
||||
***************
|
||||
*** 9072,9078 ****
|
||||
*** 9073,9079 ****
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum".
|
||||
|
@ -5372,7 +5372,7 @@
|
|||
fl.mo:Expected error in mat fl>=: "fl>=: (a) is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum".
|
||||
--- 9072,9078 ----
|
||||
--- 9073,9079 ----
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl<=: "fl<=: 7/2 is not a flonum".
|
||||
|
@ -5381,7 +5381,7 @@
|
|||
fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: a is not a flonum".
|
||||
***************
|
||||
*** 9080,9119 ****
|
||||
*** 9081,9120 ****
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum".
|
||||
|
@ -5422,7 +5422,7 @@
|
|||
fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=?: "fl>=?: 3 is not a flonum".
|
||||
--- 9080,9119 ----
|
||||
--- 9081,9120 ----
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=: "fl>=: 7/2 is not a flonum".
|
||||
|
@ -5464,7 +5464,7 @@
|
|||
fl.mo:Expected error in mat fl>=?: "fl>=?: a is not a flonum".
|
||||
fl.mo:Expected error in mat fl>=?: "fl>=?: 3 is not a flonum".
|
||||
***************
|
||||
*** 9123,9129 ****
|
||||
*** 9124,9130 ****
|
||||
fl.mo:Expected error in mat fl+: "fl+: (a . b) is not a flonum".
|
||||
fl.mo:Expected error in mat fl+: "fl+: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl+: "fl+: 2/3 is not a flonum".
|
||||
|
@ -5472,7 +5472,7 @@
|
|||
fl.mo:Expected error in mat fl-: "fl-: (a . b) is not a flonum".
|
||||
fl.mo:Expected error in mat fl-: "fl-: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl-: "fl-: a is not a flonum".
|
||||
--- 9123,9129 ----
|
||||
--- 9124,9130 ----
|
||||
fl.mo:Expected error in mat fl+: "fl+: (a . b) is not a flonum".
|
||||
fl.mo:Expected error in mat fl+: "fl+: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl+: "fl+: 2/3 is not a flonum".
|
||||
|
@ -5481,7 +5481,7 @@
|
|||
fl.mo:Expected error in mat fl-: "fl-: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl-: "fl-: a is not a flonum".
|
||||
***************
|
||||
*** 9133,9215 ****
|
||||
*** 9134,9216 ****
|
||||
fl.mo:Expected error in mat fl*: "fl*: (a . b) is not a flonum".
|
||||
fl.mo:Expected error in mat fl*: "fl*: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl*: "fl*: 2/3 is not a flonum".
|
||||
|
@ -5565,7 +5565,7 @@
|
|||
fl.mo:Expected error in mat flround: "flround: a is not a flonum".
|
||||
fl.mo:Expected error in mat flround: "flround: 2.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flround: "flround: 2+1i is not a flonum".
|
||||
--- 9133,9215 ----
|
||||
--- 9134,9216 ----
|
||||
fl.mo:Expected error in mat fl*: "fl*: (a . b) is not a flonum".
|
||||
fl.mo:Expected error in mat fl*: "fl*: 1 is not a flonum".
|
||||
fl.mo:Expected error in mat fl*: "fl*: 2/3 is not a flonum".
|
||||
|
@ -5650,7 +5650,7 @@
|
|||
fl.mo:Expected error in mat flround: "flround: 2.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flround: "flround: 2+1i is not a flonum".
|
||||
***************
|
||||
*** 9229,9264 ****
|
||||
*** 9230,9265 ****
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3/4 is not a flonum".
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: hi is not a flonum".
|
||||
|
@ -5687,7 +5687,7 @@
|
|||
fl.mo:Expected error in mat fleven?: "fleven?: a is not a flonum".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: 3.2 is not an integer".
|
||||
--- 9229,9264 ----
|
||||
--- 9230,9265 ----
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: 3/4 is not a flonum".
|
||||
fl.mo:Expected error in mat flinfinite?: "flinfinite?: hi is not a flonum".
|
||||
|
@ -5725,7 +5725,7 @@
|
|||
fl.mo:Expected error in mat fleven?: "fleven?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: 3.2 is not an integer".
|
||||
***************
|
||||
*** 9266,9273 ****
|
||||
*** 9267,9274 ****
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: 1+1i is not a flonum".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: +inf.0 is not an integer".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: +nan.0 is not an integer".
|
||||
|
@ -5734,7 +5734,7 @@
|
|||
fl.mo:Expected error in mat flodd?: "flodd?: a is not a flonum".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: 3.2 is not an integer".
|
||||
--- 9266,9273 ----
|
||||
--- 9267,9274 ----
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: 1+1i is not a flonum".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: +inf.0 is not an integer".
|
||||
fl.mo:Expected error in mat fleven?: "fleven?: +nan.0 is not an integer".
|
||||
|
@ -5744,7 +5744,7 @@
|
|||
fl.mo:Expected error in mat flodd?: "flodd?: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: 3.2 is not an integer".
|
||||
***************
|
||||
*** 9275,9281 ****
|
||||
*** 9276,9282 ****
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: 3+1i is not a flonum".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: +inf.0 is not an integer".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: +nan.0 is not an integer".
|
||||
|
@ -5752,7 +5752,7 @@
|
|||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
--- 9275,9281 ----
|
||||
--- 9276,9282 ----
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: 3+1i is not a flonum".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: +inf.0 is not an integer".
|
||||
fl.mo:Expected error in mat flodd?: "flodd?: +nan.0 is not an integer".
|
||||
|
@ -5761,7 +5761,7 @@
|
|||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
***************
|
||||
*** 9283,9289 ****
|
||||
*** 9284,9290 ****
|
||||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: 0.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: 0+1i is not a flonum".
|
||||
|
@ -5769,7 +5769,7 @@
|
|||
fl.mo:Expected error in mat flmax: "flmax: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 3 is not a flonum".
|
||||
--- 9283,9289 ----
|
||||
--- 9284,9290 ----
|
||||
fl.mo:Expected error in mat flmin: "flmin: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: 0.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flmin: "flmin: 0+1i is not a flonum".
|
||||
|
@ -5778,7 +5778,7 @@
|
|||
fl.mo:Expected error in mat flmax: "flmax: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 3 is not a flonum".
|
||||
***************
|
||||
*** 9291,9304 ****
|
||||
*** 9292,9305 ****
|
||||
fl.mo:Expected error in mat flmax: "flmax: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 0.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 0+1i is not a flonum".
|
||||
|
@ -5793,7 +5793,7 @@
|
|||
fl.mo:Expected error in mat fldenominator: "fldenominator: a is not a flonum".
|
||||
fl.mo:Expected error in mat fldenominator: "fldenominator: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fldenominator: "fldenominator: 0+1i is not a flonum".
|
||||
--- 9291,9304 ----
|
||||
--- 9292,9305 ----
|
||||
fl.mo:Expected error in mat flmax: "flmax: a is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 0.0+1.0i is not a flonum".
|
||||
fl.mo:Expected error in mat flmax: "flmax: 0+1i is not a flonum".
|
||||
|
@ -5809,7 +5809,7 @@
|
|||
fl.mo:Expected error in mat fldenominator: "fldenominator: 3 is not a flonum".
|
||||
fl.mo:Expected error in mat fldenominator: "fldenominator: 0+1i is not a flonum".
|
||||
***************
|
||||
*** 9344,9350 ****
|
||||
*** 9345,9351 ****
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
|
@ -5817,7 +5817,7 @@
|
|||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
--- 9344,9350 ----
|
||||
--- 9345,9351 ----
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
|
@ -5826,7 +5826,7 @@
|
|||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl-: "cfl-: a is not a cflonum".
|
||||
***************
|
||||
*** 9354,9367 ****
|
||||
*** 9355,9368 ****
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
|
@ -5841,7 +5841,7 @@
|
|||
foreign.mo:Expected error in mat load-shared-object: "load-shared-object: invalid path 3".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"".
|
||||
--- 9354,9367 ----
|
||||
--- 9355,9368 ----
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
cfl.mo:Expected error in mat cfl/: "cfl/: a is not a cflonum".
|
||||
|
@ -5857,7 +5857,7 @@
|
|||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: no entry for "i do not exist"".
|
||||
***************
|
||||
*** 9396,9403 ****
|
||||
*** 9397,9404 ****
|
||||
foreign.mo:Expected error in mat foreign-procedure: "id: invalid foreign-procedure argument foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle abcde".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "float_id: invalid foreign-procedure argument 0".
|
||||
|
@ -5866,7 +5866,7 @@
|
|||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type".
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
|
||||
foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"".
|
||||
--- 9396,9403 ----
|
||||
--- 9397,9404 ----
|
||||
foreign.mo:Expected error in mat foreign-procedure: "id: invalid foreign-procedure argument foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle abcde".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "float_id: invalid foreign-procedure argument 0".
|
||||
|
@ -5876,7 +5876,7 @@
|
|||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
|
||||
foreign.mo:Expected error in mat foreign-bytevectors: "u8*->u8*: invalid foreign-procedure argument "hello"".
|
||||
***************
|
||||
*** 9895,9907 ****
|
||||
*** 9896,9908 ****
|
||||
unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory".
|
||||
unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory".
|
||||
unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory".
|
||||
|
@ -5890,7 +5890,7 @@
|
|||
windows.mo:Expected error in mat registry: "get-registry: pooh is not a string".
|
||||
windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string".
|
||||
windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string".
|
||||
--- 9895,9907 ----
|
||||
--- 9896,9908 ----
|
||||
unix.mo:Expected error in mat file-operations: "file-access-time: failed for "testlink": no such file or directory".
|
||||
unix.mo:Expected error in mat file-operations: "file-change-time: failed for "testlink": no such file or directory".
|
||||
unix.mo:Expected error in mat file-operations: "file-modification-time: failed for "testlink": no such file or directory".
|
||||
|
@ -5905,7 +5905,7 @@
|
|||
windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string".
|
||||
windows.mo:Expected error in mat registry: "put-registry!: 3 is not a string".
|
||||
***************
|
||||
*** 9929,10000 ****
|
||||
*** 9930,10001 ****
|
||||
ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for -inf.0 would be outside of fixnum range".
|
||||
ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for +nan.0 would be outside of fixnum range".
|
||||
ieee.mo:Expected error in mat fllp: "fllp: 3 is not a flonum".
|
||||
|
@ -5978,7 +5978,7 @@
|
|||
date.mo:Expected error in mat time: "time>=?: 3 is not a time record".
|
||||
date.mo:Expected error in mat time: "time>=?: #<procedure car> is not a time record".
|
||||
date.mo:Expected error in mat time: "time>=?: types of <time> and <time> differ".
|
||||
--- 9929,10000 ----
|
||||
--- 9930,10001 ----
|
||||
ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for -inf.0 would be outside of fixnum range".
|
||||
ieee.mo:Expected error in mat flonum->fixnum: "flonum->fixnum: result for +nan.0 would be outside of fixnum range".
|
||||
ieee.mo:Expected error in mat fllp: "fllp: 3 is not a flonum".
|
||||
|
@ -6052,7 +6052,7 @@
|
|||
date.mo:Expected error in mat time: "time>=?: #<procedure car> is not a time record".
|
||||
date.mo:Expected error in mat time: "time>=?: types of <time> and <time> differ".
|
||||
***************
|
||||
*** 10002,10015 ****
|
||||
*** 10003,10016 ****
|
||||
date.mo:Expected error in mat time: "add-duration: <time> does not have type time-duration".
|
||||
date.mo:Expected error in mat time: "subtract-duration: <time> does not have type time-duration".
|
||||
date.mo:Expected error in mat time: "copy-time: <date> is not a time record".
|
||||
|
@ -6067,7 +6067,7 @@
|
|||
date.mo:Expected error in mat date: "make-date: invalid nanosecond -1".
|
||||
date.mo:Expected error in mat date: "make-date: invalid nanosecond <int>".
|
||||
date.mo:Expected error in mat date: "make-date: invalid nanosecond zero".
|
||||
--- 10002,10015 ----
|
||||
--- 10003,10016 ----
|
||||
date.mo:Expected error in mat time: "add-duration: <time> does not have type time-duration".
|
||||
date.mo:Expected error in mat time: "subtract-duration: <time> does not have type time-duration".
|
||||
date.mo:Expected error in mat time: "copy-time: <date> is not a time record".
|
||||
|
@ -6083,7 +6083,7 @@
|
|||
date.mo:Expected error in mat date: "make-date: invalid nanosecond <int>".
|
||||
date.mo:Expected error in mat date: "make-date: invalid nanosecond zero".
|
||||
***************
|
||||
*** 10035,10095 ****
|
||||
*** 10036,10096 ****
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset 90000".
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset est".
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset "est"".
|
||||
|
@ -6145,7 +6145,7 @@
|
|||
date.mo:Expected error in mat date: "current-date: invalid time-zone offset -90000".
|
||||
date.mo:Expected error in mat date: "current-date: invalid time-zone offset 90000".
|
||||
date.mo:Expected error in mat conversions/sleep: "date->time-utc: <time> is not a date record".
|
||||
--- 10035,10095 ----
|
||||
--- 10036,10096 ----
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset 90000".
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset est".
|
||||
date.mo:Expected error in mat date: "make-date: invalid time-zone offset "est"".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2019-03-11 19:59:53.911104400 -0400
|
||||
--- errors-interpret-0-f-f-f 2019-03-11 19:09:09.815298464 -0400
|
||||
*** errors-compile-0-f-f-f 2019-03-15 12:05:55.397368315 -0400
|
||||
--- errors-interpret-0-f-f-f 2019-03-15 11:43:02.326650777 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
@ -232,7 +232,7 @@
|
|||
7.mo:Expected error in mat eval: "compile: 7 is not an environment".
|
||||
7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
|
||||
***************
|
||||
*** 7360,7366 ****
|
||||
*** 7361,7367 ****
|
||||
record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr".
|
||||
record.mo:Expected error in mat record25: "invalid value 10 for foreign type float".
|
||||
record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double".
|
||||
|
@ -240,7 +240,7 @@
|
|||
record.mo:Expected error in mat record25: "invalid value 12.0 for foreign type long-long".
|
||||
record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long".
|
||||
record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int".
|
||||
--- 7360,7366 ----
|
||||
--- 7361,7367 ----
|
||||
record.mo:Expected error in mat record25: "invalid value #\9 for foreign type uptr".
|
||||
record.mo:Expected error in mat record25: "invalid value 10 for foreign type float".
|
||||
record.mo:Expected error in mat record25: "invalid value 11.0+0.0i for foreign type double".
|
||||
|
@ -249,7 +249,7 @@
|
|||
record.mo:Expected error in mat record25: "invalid value 13.0 for foreign type unsigned-long-long".
|
||||
record.mo:Expected error in mat record25: "invalid value 3.0 for foreign type int".
|
||||
***************
|
||||
*** 8602,8614 ****
|
||||
*** 8603,8615 ****
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -263,7 +263,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
--- 8602,8614 ----
|
||||
--- 8603,8615 ----
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -278,7 +278,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
***************
|
||||
*** 9369,9393 ****
|
||||
*** 9370,9394 ****
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
|
@ -304,7 +304,7 @@
|
|||
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier booleen".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare".
|
||||
--- 9369,9393 ----
|
||||
--- 9370,9394 ----
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "foreign-procedure: invalid foreign procedure handle foo".
|
||||
|
@ -331,7 +331,7 @@
|
|||
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure argument type specifier integer-34".
|
||||
foreign.mo:Expected error in mat foreign-procedure: "invalid foreign-procedure result type specifier chare".
|
||||
***************
|
||||
*** 9400,9431 ****
|
||||
*** 9401,9432 ****
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))".
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type".
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
|
||||
|
@ -364,7 +364,7 @@
|
|||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
--- 9400,9431 ----
|
||||
--- 9401,9432 ----
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "incorrect argument count in call (foreign-sizeof (quote int) (quote int))".
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier i-am-not-a-type".
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "foreign-sizeof: invalid foreign type specifier 1".
|
||||
|
@ -398,7 +398,7 @@
|
|||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
***************
|
||||
*** 9433,9458 ****
|
||||
*** 9434,9459 ****
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
|
@ -425,7 +425,7 @@
|
|||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
--- 9433,9458 ----
|
||||
--- 9434,9459 ----
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-strings: "foreign-callable: invalid return value ("ello" 4) from #<procedure>".
|
||||
|
@ -453,7 +453,7 @@
|
|||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
***************
|
||||
*** 9463,9497 ****
|
||||
*** 9464,9498 ****
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
|
@ -489,7 +489,7 @@
|
|||
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
|
||||
--- 9463,9497 ----
|
||||
--- 9464,9498 ----
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-fixed-types: "foreign-callable: invalid return value (- x 7) from #<procedure>".
|
||||
|
@ -526,7 +526,7 @@
|
|||
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
|
||||
foreign.mo:Expected error in mat foreign-C-types: "foreign-callable: invalid return value (73 74) from #<procedure>".
|
||||
***************
|
||||
*** 10098,10107 ****
|
||||
*** 10099,10108 ****
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (q ...)".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
|
||||
|
@ -537,7 +537,7 @@
|
|||
oop.mo:Expected error in mat oop: "m1: not applicable to 17".
|
||||
oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound".
|
||||
oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound".
|
||||
--- 10098,10107 ----
|
||||
--- 10099,10108 ----
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (q ...)".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-t-f 2019-03-11 18:51:09.908295544 -0400
|
||||
--- errors-interpret-0-f-t-f 2019-03-11 19:18:35.187243012 -0400
|
||||
*** errors-compile-0-f-t-f 2019-03-15 11:24:12.070638664 -0400
|
||||
--- errors-interpret-0-f-t-f 2019-03-15 11:52:25.024678729 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
@ -205,7 +205,7 @@
|
|||
7.mo:Expected error in mat eval: "compile: 7 is not an environment".
|
||||
7.mo:Expected error in mat expand: "sc-expand: 7 is not an environment".
|
||||
***************
|
||||
*** 7169,7176 ****
|
||||
*** 7170,7177 ****
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat error: "a: hit me!".
|
||||
7.mo:Expected error in mat error: "f: n is 0".
|
||||
|
@ -214,7 +214,7 @@
|
|||
record.mo:Expected error in mat record2: "invalid value 3 for foreign type double-float".
|
||||
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
|
||||
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
|
||||
--- 7169,7176 ----
|
||||
--- 7170,7177 ----
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat error: "a: hit me!".
|
||||
7.mo:Expected error in mat error: "f: n is 0".
|
||||
|
@ -224,7 +224,7 @@
|
|||
record.mo:Expected error in mat record2: "3 is not of type #<record type fudge>".
|
||||
record.mo:Expected error in mat record2: "make-record-type: invalid field list ((immutable double-float a) . b)".
|
||||
***************
|
||||
*** 7178,7192 ****
|
||||
*** 7179,7193 ****
|
||||
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
|
||||
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
|
||||
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
|
||||
|
@ -240,7 +240,7 @@
|
|||
record.mo:Expected error in mat record9: "record-reader: invalid input #f".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
--- 7178,7192 ----
|
||||
--- 7179,7193 ----
|
||||
record.mo:Expected error in mat type-descriptor: "invalid syntax (type-descriptor 3)".
|
||||
record.mo:Expected error in mat type-descriptor: "type-descriptor: unrecognized record car".
|
||||
record.mo:Expected error in mat record3: "variable set-fudge-a! is not bound".
|
||||
|
@ -257,7 +257,7 @@
|
|||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
record.mo:Expected error in mat record9: "record-reader: invalid second argument fudge".
|
||||
***************
|
||||
*** 7199,7224 ****
|
||||
*** 7200,7225 ****
|
||||
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
|
@ -284,7 +284,7 @@
|
|||
record.mo:Expected error in mat foreign-data: "foreign-alloc: 0 is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
|
||||
--- 7199,7224 ----
|
||||
--- 7200,7225 ----
|
||||
record.mo:Expected error in mat record10: "read: unresolvable cycle constructing record of type #<record type bar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
record.mo:Expected error in mat record16: "read: unresolvable cycle constructing record of type #<record type bazar> at char 3 of #<input port string>".
|
||||
|
@ -312,7 +312,7 @@
|
|||
record.mo:Expected error in mat foreign-data: "foreign-alloc: <int> is not a positive fixnum".
|
||||
record.mo:Expected error in mat foreign-data: "foreign-alloc: -5 is not a positive fixnum".
|
||||
***************
|
||||
*** 7349,7387 ****
|
||||
*** 7350,7388 ****
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
|
||||
|
@ -352,7 +352,7 @@
|
|||
record.mo:Expected error in mat record?: "record?: 4 is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
|
||||
--- 7349,7387 ----
|
||||
--- 7350,7388 ----
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record22: "invalid field specifier (immutable creepy q)".
|
||||
record.mo:Expected error in mat record23: "make-record-type: cannot extend sealed record type #<record type foo>".
|
||||
|
@ -393,7 +393,7 @@
|
|||
record.mo:Expected error in mat record?: "record?: a is not a record type descriptor".
|
||||
record.mo:Expected error in mat record?: "record?: #(1) is not a record type descriptor".
|
||||
***************
|
||||
*** 7396,7452 ****
|
||||
*** 7397,7453 ****
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
|
||||
|
@ -451,7 +451,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
|
||||
--- 7396,7452 ----
|
||||
--- 7397,7453 ----
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: invalid protocol flimflam".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure not-a-procedure".
|
||||
record.mo:Expected error in mat r6rs-records-procedural: "attempt to apply non-procedure spam".
|
||||
|
@ -510,7 +510,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "define-record-type: incompatible record type cpoint - different parent".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "cannot extend define-record-type parent fratrat".
|
||||
***************
|
||||
*** 8602,8614 ****
|
||||
*** 8603,8615 ****
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -524,7 +524,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
--- 8602,8614 ----
|
||||
--- 8603,8615 ----
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx-: "fx-: #f is not a fixnum".
|
||||
fx.mo:Expected error in mat fx*: "fx*: (a . b) is not a fixnum".
|
||||
|
@ -539,7 +539,7 @@
|
|||
fx.mo:Expected error in mat r6rs:fx*: "fx*: <-int> is not a fixnum".
|
||||
fx.mo:Expected error in mat r6rs:fx*: "fx*: #f is not a fixnum".
|
||||
***************
|
||||
*** 10098,10107 ****
|
||||
*** 10099,10108 ****
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (q ...)".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
|
||||
|
@ -550,7 +550,7 @@
|
|||
oop.mo:Expected error in mat oop: "m1: not applicable to 17".
|
||||
oop.mo:Expected error in mat oop: "variable <a>-x1 is not bound".
|
||||
oop.mo:Expected error in mat oop: "variable <a>-x1-set! is not bound".
|
||||
--- 10098,10107 ----
|
||||
--- 10099,10108 ----
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (memq (quote b) (quote (1 2 a 3 4)))".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (q ...)".
|
||||
exceptions.mo:Expected error in mat assert: "failed assertion (andmap symbol? (syntax (x ...)))".
|
||||
|
|
|
@ -7066,6 +7066,7 @@ format.mo:Expected error in mat format-dollar: "format: expected real number for
|
|||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-a6) not found
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-c6) not found
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo"
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol".
|
||||
7.mo:Expected error in mat top-level-value-functions: "incorrect argument count in call (top-level-bound?)".
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: 45 is not a symbol".
|
||||
|
|
|
@ -7066,6 +7066,7 @@ format.mo:Expected error in mat format-dollar: "format: expected real number for
|
|||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-a6) not found
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception: library (testfile-cwl-c6) not found
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-compile: Exception in compile-whole-library: encountered visit-only run-time library (testfile-cwl-a9) while processing file "testfile-cwl-a9.wpo"
|
||||
7.mo:Expected error in mat compile-whole-library: "separate-eval: Exception in compile-whole-program: encountered library (testfile-deja-vu-one) in testfile-deja-vu-dup.wpo, but had already encountered it in testfile-deja-vu-two.wpo
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: "hello" is not a symbol".
|
||||
7.mo:Expected error in mat top-level-value-functions: "incorrect argument count in call (top-level-bound?)".
|
||||
7.mo:Expected error in mat top-level-value-functions: "top-level-bound?: 45 is not a symbol".
|
||||
|
|
233
s/compile.ss
233
s/compile.ss
|
@ -758,12 +758,12 @@
|
|||
(program-info-invoke-req* (program-node-pinfo node))))
|
||||
|
||||
(define-record-type library-node (nongenerative) (parent node)
|
||||
(fields binary? (mutable ctinfo) (mutable rtinfo) (mutable ctir) (mutable rtir) (mutable visible?))
|
||||
(fields binary? (mutable ctinfo) (mutable rtinfo) (mutable ctir) (mutable rtir) (mutable visible?) fn)
|
||||
(protocol
|
||||
(lambda (pargs->new)
|
||||
(lambda (binary? ctinfo rtinfo visible?)
|
||||
(lambda (binary? ctinfo rtinfo visible? fn)
|
||||
(safe-assert (or ctinfo rtinfo))
|
||||
((pargs->new) binary? ctinfo rtinfo #f #f visible?)))))
|
||||
((pargs->new) binary? ctinfo rtinfo #f #f visible? fn)))))
|
||||
(define library-node-path
|
||||
(lambda (node)
|
||||
(library-info-path (or (library-node-ctinfo node) (library-node-rtinfo node)))))
|
||||
|
@ -950,8 +950,11 @@
|
|||
[cell (symbol-hashtable-cell libs uid #f)]
|
||||
[node (cdr cell)])
|
||||
(if node
|
||||
(begin (unless (library-node-ctinfo node) (library-node-ctinfo-set! node linfo/ct)) #f)
|
||||
(let ([node (make-library-node binary? linfo/ct #f (or libs-visible? binary?))])
|
||||
(if (library-node-ctinfo node)
|
||||
($oops who "encountered library ~s in ~a, but had already encountered it in ~a"
|
||||
(library-info-path linfo/ct) ifn (library-node-fn node))
|
||||
(begin (library-node-ctinfo-set! node linfo/ct) #f))
|
||||
(let ([node (make-library-node binary? linfo/ct #f (or libs-visible? binary?) ifn)])
|
||||
(set-cdr! cell node)
|
||||
node)))))
|
||||
(define record-rt-lib!
|
||||
|
@ -961,8 +964,11 @@
|
|||
[cell (symbol-hashtable-cell libs uid #f)]
|
||||
[node (cdr cell)])
|
||||
(if node
|
||||
(begin (unless (library-node-rtinfo node) (library-node-rtinfo-set! node linfo/rt)) #f)
|
||||
(let ([node (make-library-node binary? #f linfo/rt (or libs-visible? binary?))])
|
||||
(if (library-node-rtinfo node)
|
||||
($oops who "encountered library ~s in ~a, but had already encountered it in ~a"
|
||||
(library-info-path linfo/rt) ifn (library-node-fn node))
|
||||
(begin (library-node-rtinfo-set! node linfo/rt) #f))
|
||||
(let ([node (make-library-node binary? #f linfo/rt (or libs-visible? binary?) ifn)])
|
||||
(set-cdr! cell node)
|
||||
node)))))
|
||||
(define record-ct-lib-ir!
|
||||
|
@ -992,16 +998,26 @@
|
|||
($oops who "~s does not define expected compilation instance of library ~s" fn path))
|
||||
(for-each chase-library-dependencies! node*)))]))))
|
||||
(define find-dependencies
|
||||
(lambda (req*)
|
||||
(map (lambda (req)
|
||||
(let ([node (symbol-hashtable-ref libs (libreq-uid req) #f)])
|
||||
(node-use-count-set! node (fx+ (node-use-count node) 1))
|
||||
node))
|
||||
req*)))
|
||||
(lambda (req* maybe-import-req*)
|
||||
(let ([dep* (map (lambda (req)
|
||||
(let ([node (symbol-hashtable-ref libs (libreq-uid req) #f)])
|
||||
(node-use-count-set! node (fx+ (node-use-count node) 1))
|
||||
node))
|
||||
req*)])
|
||||
(if maybe-import-req*
|
||||
(fold-right (lambda (req dep*)
|
||||
(let ([node (symbol-hashtable-ref libs (libreq-uid req) #f)])
|
||||
(if node
|
||||
(begin
|
||||
(node-use-count-set! node (fx+ (node-use-count node) 1))
|
||||
(cons node dep*))
|
||||
dep*)))
|
||||
dep* maybe-import-req*)
|
||||
dep*))))
|
||||
(define chase-program-dependencies!
|
||||
(lambda (node)
|
||||
(for-each (lambda (req) (chase-library req libs-visible?)) (program-node-invoke-req* node))
|
||||
(node-depend*-set! node (find-dependencies (program-node-invoke-req* node)))))
|
||||
(node-depend*-set! node (find-dependencies (program-node-invoke-req* node) #f))))
|
||||
(define chase-library-dependencies!
|
||||
(lambda (node)
|
||||
(if (library-node-visible? node)
|
||||
|
@ -1014,7 +1030,10 @@
|
|||
(lambda (req) (chase-library req (library-node-visible? node)))
|
||||
(library-node-invoke-req* node)))
|
||||
(unless (node-depend* node)
|
||||
(node-depend*-set! node (find-dependencies (library-node-invoke-req* node))))))
|
||||
(node-depend*-set! node
|
||||
(find-dependencies
|
||||
(library-node-invoke-req* node)
|
||||
(and (library-node-visible? node) (library-node-import-req* node)))))))
|
||||
(let-values ([(maybe-program node* rcinfo*) (process-ir*! ir* ifn capture-program? libs-visible?)])
|
||||
(when capture-program?
|
||||
(unless maybe-program ($oops who "missing entry program in file ~a" ifn))
|
||||
|
@ -1156,18 +1175,21 @@
|
|||
(build-void) dl* db* dv*)])))
|
||||
|
||||
(define make-patch-env
|
||||
(lambda (node*)
|
||||
(lambda (cluster*)
|
||||
(let ([patch-env (make-hashtable symbol-hash eq?)])
|
||||
(for-each
|
||||
(lambda (node)
|
||||
(unless (library-node-binary? node)
|
||||
(nanopass-case (Lexpand rtLibrary) (library-node-rtir node)
|
||||
[(library/rt ,uid (,dl* ...) (,db* ...) (,dv* ...) (,de* ...) ,body)
|
||||
(for-each (lambda (label var)
|
||||
(when label
|
||||
(symbol-hashtable-set! patch-env label var)))
|
||||
dl* dv*)])))
|
||||
node*)
|
||||
(lambda (cluster)
|
||||
(for-each
|
||||
(lambda (node)
|
||||
(unless (library-node-binary? node)
|
||||
(nanopass-case (Lexpand rtLibrary) (library-node-rtir node)
|
||||
[(library/rt ,uid (,dl* ...) (,db* ...) (,dv* ...) (,de* ...) ,body)
|
||||
(for-each (lambda (label var)
|
||||
(when label
|
||||
(symbol-hashtable-set! patch-env label var)))
|
||||
dl* dv*)])))
|
||||
cluster))
|
||||
cluster*)
|
||||
patch-env)))
|
||||
|
||||
(define build-combined-program-ir
|
||||
|
@ -1195,30 +1217,14 @@
|
|||
(nanopass-case (Lexpand Program) (program-node-ir program)
|
||||
[(program ,uid ,body) body])
|
||||
node*)
|
||||
(make-patch-env node*))))
|
||||
(make-patch-env (list node*)))))
|
||||
|
||||
(define build-combined-library-ir
|
||||
(lambda (node*)
|
||||
(lambda (cluster*)
|
||||
(define build-mark-invoked!
|
||||
(lambda (node)
|
||||
(build-primcall '$mark-invoked! `(quote ,(library-node-uid node)))))
|
||||
(define build-cluster*
|
||||
(lambda (node*)
|
||||
(define (s-entry/binary node* rcluster*)
|
||||
(if (null? node*)
|
||||
(reverse rcluster*)
|
||||
(let ([node (car node*)])
|
||||
(if (library-node-binary? node)
|
||||
(s-entry/binary (cdr node*) rcluster*)
|
||||
(s-source (cdr node*) (list node) rcluster*)))))
|
||||
(define (s-source node* rnode* rcluster*)
|
||||
(if (null? node*)
|
||||
(reverse (cons (reverse rnode*) rcluster*))
|
||||
(let ([node (car node*)])
|
||||
(if (library-node-binary? node)
|
||||
(s-entry/binary (cdr node*) (cons (reverse rnode*) rcluster*))
|
||||
(s-source (cdr node*) (cons node rnode*) rcluster*)))))
|
||||
(s-entry/binary node* '())))
|
||||
|
||||
(define build-cluster
|
||||
(lambda (node* cluster-body)
|
||||
(fold-right
|
||||
|
@ -1257,7 +1263,7 @@
|
|||
; ($install-library/rt-code 'B-uid (lambda () (lib-f 0)))
|
||||
; ($install-library/rt-code 'D-uid (lambda () (lib-f 1)))
|
||||
; (void))
|
||||
(let ([cluster* (build-cluster* node*)] [lib-f (gen-var 'lib-f)])
|
||||
(let ([lib-f (gen-var 'lib-f)])
|
||||
(let ([cluster-idx* (enumerate cluster*)])
|
||||
(build-let (list lib-f) (list (build-void))
|
||||
`(seq
|
||||
|
@ -1286,7 +1292,7 @@
|
|||
,body))
|
||||
body cluster))
|
||||
(build-void) cluster* cluster-idx*)))))
|
||||
(make-patch-env node*)))))
|
||||
(make-patch-env cluster*)))))
|
||||
|
||||
(with-output-language (Lexpand Outer)
|
||||
(define add-recompile-info
|
||||
|
@ -1297,64 +1303,119 @@
|
|||
body
|
||||
rcinfo*)))
|
||||
|
||||
(define add-library-records
|
||||
(lambda (node* visit-lib* body)
|
||||
(define requirements-join
|
||||
(lambda (req* maybe-collected-invoke-req*)
|
||||
(define (->libreq node)
|
||||
(make-libreq
|
||||
(library-node-path node)
|
||||
(library-node-version node)
|
||||
(library-node-uid node)))
|
||||
(if maybe-collected-invoke-req*
|
||||
(let f ([invoke-req* maybe-collected-invoke-req*])
|
||||
(if (null? invoke-req*)
|
||||
req*
|
||||
(let* ([invoke-req (car invoke-req*)] [uid (library-node-uid invoke-req)])
|
||||
(if (memp (lambda (req) (eq? (libreq-uid req) uid)) req*)
|
||||
(f (cdr invoke-req*))
|
||||
(cons (->libreq invoke-req) (f (cdr invoke-req*)))))))
|
||||
req*)))
|
||||
|
||||
(define add-library/rt-records
|
||||
(lambda (maybe-ht node* body)
|
||||
(fold-left
|
||||
(lambda (body node)
|
||||
(if (library-node-binary? node)
|
||||
body
|
||||
`(group (revisit-only
|
||||
,(let ([info (library-node-rtinfo node)])
|
||||
(make-library/rt-info
|
||||
(let* ([info (library-node-rtinfo node)]
|
||||
[uid (library-info-uid info)])
|
||||
`(group (revisit-only
|
||||
,(make-library/rt-info
|
||||
(library-info-path info)
|
||||
(library-info-version info)
|
||||
(library-info-uid info)
|
||||
(library/rt-info-invoke-req* info))))
|
||||
,body)))
|
||||
(fold-left
|
||||
(lambda (body visit-lib)
|
||||
(if (library-node-binary? visit-lib)
|
||||
body
|
||||
`(group (visit-only
|
||||
,(let ([info (library-node-ctinfo visit-lib)])
|
||||
(make-library/ct-info
|
||||
(library-info-path info)
|
||||
(library-info-version info)
|
||||
(library-info-uid info)
|
||||
(library/ct-info-include-req* info)
|
||||
uid
|
||||
(requirements-join
|
||||
(library/rt-info-invoke-req* info)
|
||||
(and maybe-ht (symbol-hashtable-ref maybe-ht uid #f)))))
|
||||
,body))))
|
||||
body node*)))
|
||||
|
||||
(define add-library/ct-records
|
||||
(lambda (maybe-ht visit-lib* body)
|
||||
(fold-left
|
||||
(lambda (body visit-lib)
|
||||
(if (library-node-binary? visit-lib)
|
||||
body
|
||||
`(group (visit-only
|
||||
,(let* ([info (library-node-ctinfo visit-lib)]
|
||||
[uid (library-info-uid info)])
|
||||
(make-library/ct-info
|
||||
(library-info-path info)
|
||||
(library-info-version info)
|
||||
uid
|
||||
(library/ct-info-include-req* info)
|
||||
(requirements-join
|
||||
(library/ct-info-import-req* info)
|
||||
(library/ct-info-visit-visit-req* info)
|
||||
(library/ct-info-visit-req* info)
|
||||
(if (library-node-visible? visit-lib)
|
||||
(library/ct-info-clo* info)
|
||||
'()))))
|
||||
,body)))
|
||||
body visit-lib*)
|
||||
node*)))
|
||||
(and maybe-ht (symbol-hashtable-ref maybe-ht uid #f)))
|
||||
(library/ct-info-visit-visit-req* info)
|
||||
(library/ct-info-visit-req* info)
|
||||
(if (library-node-visible? visit-lib)
|
||||
(library/ct-info-clo* info)
|
||||
'()))))
|
||||
,body)))
|
||||
body visit-lib*)))
|
||||
|
||||
(define add-visit-lib-install*
|
||||
(lambda (visit-lib* body)
|
||||
(fold-left (lambda (body visit-lib)
|
||||
(if (library-node-binary? visit-lib)
|
||||
body
|
||||
`(group (visit-only ,(build-install-library/ct-code visit-lib)) ,body)))
|
||||
body visit-lib*)))
|
||||
(if (library-node-binary? visit-lib)
|
||||
body
|
||||
`(group (visit-only ,(build-install-library/ct-code visit-lib)) ,body)))
|
||||
body visit-lib*)))
|
||||
|
||||
(define build-cluster*
|
||||
(lambda (node* ht)
|
||||
(define (add-deps! node deps)
|
||||
(symbol-hashtable-set! ht (library-node-uid node) deps))
|
||||
(define (s-entry/binary node* rcluster* deps)
|
||||
(if (null? node*)
|
||||
(reverse rcluster*)
|
||||
(let ([node (car node*)])
|
||||
(if (library-node-binary? node)
|
||||
(s-entry/binary (cdr node*) rcluster* (cons node deps))
|
||||
(begin
|
||||
(add-deps! node deps)
|
||||
(s-source (cdr node*) (list node) rcluster* (list node)))))))
|
||||
(define (s-source node* rnode* rcluster* deps)
|
||||
(if (null? node*)
|
||||
(reverse (cons (reverse rnode*) rcluster*))
|
||||
(let ([node (car node*)])
|
||||
(if (library-node-binary? node)
|
||||
(s-entry/binary (cdr node*) (cons (reverse rnode*) rcluster*)
|
||||
(cons node deps))
|
||||
(begin
|
||||
(add-deps! node deps)
|
||||
(s-source (cdr node*) (cons node rnode*) rcluster* deps))))))
|
||||
(s-entry/binary node* '() '())))
|
||||
|
||||
(define build-program-body
|
||||
(lambda (program-entry node* visit-lib* invisible* rcinfo*)
|
||||
(add-recompile-info rcinfo*
|
||||
(add-library-records node* visit-lib*
|
||||
(add-library-records node* invisible*
|
||||
(add-visit-lib-install* visit-lib*
|
||||
(add-visit-lib-install* invisible*
|
||||
`(revisit-only ,(build-combined-program-ir program-entry node*)))))))))
|
||||
(add-library/rt-records #f node*
|
||||
(add-library/ct-records #f visit-lib*
|
||||
(add-library/ct-records #f invisible*
|
||||
(add-visit-lib-install* visit-lib*
|
||||
(add-visit-lib-install* invisible*
|
||||
`(revisit-only ,(build-combined-program-ir program-entry node*))))))))))
|
||||
|
||||
(define build-library-body
|
||||
(lambda (node* visit-lib* rcinfo*)
|
||||
(add-recompile-info rcinfo*
|
||||
(add-library-records node* visit-lib*
|
||||
(add-visit-lib-install* visit-lib*
|
||||
`(revisit-only ,(build-combined-library-ir node*))))))))
|
||||
(let* ([collected-req-ht (make-hashtable symbol-hash eq?)]
|
||||
[cluster* (build-cluster* node* collected-req-ht)])
|
||||
(add-recompile-info rcinfo*
|
||||
(add-library/rt-records collected-req-ht node*
|
||||
(add-library/ct-records collected-req-ht visit-lib*
|
||||
(add-visit-lib-install* visit-lib*
|
||||
`(revisit-only ,(build-combined-library-ir cluster*))))))))))
|
||||
|
||||
(define finish-compile
|
||||
(lambda (who msg ifn ofn hash-bang-line x1)
|
||||
|
|
|
@ -5180,8 +5180,8 @@
|
|||
(cond
|
||||
[(libdesc-import-code desc) =>
|
||||
(lambda (p)
|
||||
(when (eq? p 'loading)
|
||||
($oops #f "attempt to import library ~s while it is still being loaded" (libdesc-path desc)))
|
||||
(when (eq? p 'loading)
|
||||
($oops #f "attempt to import library ~s while it is still being loaded" (libdesc-path desc)))
|
||||
(libdesc-import-code-set! desc #f)
|
||||
(on-reset (libdesc-import-code-set! desc p)
|
||||
(for-each (lambda (req) (import-library (libreq-uid req))) (libdesc-import-req* desc))
|
||||
|
|
Loading…
Reference in New Issue
Block a user