Adds hashtable-ref-cell

... and eq-hashtable-cell and symbol-hashtable-ref-cell,
which are just like hashtable-cell, except that if the given
key isn't present, they return #f instead of mutating the table.

original commit: c1ab89fc2152ba41f50c0a5b0e5857fc48fc63c1
This commit is contained in:
Jon Zeppieri 2019-07-25 20:02:59 -04:00 committed by Matthew Flatt
parent ce9df2f827
commit 625c466ee7
14 changed files with 377 additions and 102 deletions

View File

@ -1847,6 +1847,35 @@ cell ;=> (#(a b c) . 3)
(hashtable-ref ht v 0) ;=> 4
\endschemedisplay
%----------------------------------------------------------------------------
\entryheader
\formdef{hashtable-ref-cell}{\categoryprocedure}{(hashtable-ref-cell \var{hashtable} \var{key})}
\returns a pair if \var{key} is in \var{hashtable}, \scheme{#f} otherwise
\listlibraries
\endentryheader
\var{hashtable} must be a hashtable.
\var{key} may be any Scheme value.
If \var{key} is associated with a value in \var{hashtable}, then it returns a pair
whose car is \var{key} and whose cdr is the associated value. Changing the cdr of
this pair effectively updates the table to associate \var{key} with a new value.
The \var{key} in the car field should not be changed.
If \var{key} is not in \var{hashtable}, then \scheme{#f} is returned.
\schemedisplay
(define ht (make-eq-hashtable))
(define v (vector 'a 'b 'c))
(hashtable-ref-cell ht v) ;=> #f
(hashtable-set! ht v 3)
(define cell (hashtable-ref-cell ht v))
cell ;=> ((#a b c) . 3)
(hashtable-ref ht v 0) ;=> 3
(set-cdr! cell 4)
(hashtable-ref ht v 0) ;=> 4
\endschemedisplay
%----------------------------------------------------------------------------
\entryheader
\formdef{hashtable-keys}{\categoryprocedure}{(hashtable-keys \var{hashtable})}
@ -2270,6 +2299,35 @@ behavior. Use \scheme{eq-hashtable-set!} or a similar operation from a
single thread (e.g., during a collect-reqest handler) to allow the
opportunity of resizing.
%----------------------------------------------------------------------------
\entryheader
\formdef{eq-hashtable-ref-cell}{\categoryprocedure}{(eq-hashtable-ref-cell \var{hashtable} \var{key})}
\returns a pair if \var{key} is in \var{hashtable}, \scheme{#f} otherwise
\listlibraries
\endentryheader
\var{hashtable} must be an eq hashtable.
\var{key} may be any Scheme value.
If \var{key} is associated with a value in \var{hashtable}, then it returns a pair
whose car is \var{key} and whose cdr is the associated value. Changing the cdr of
this pair effectively updates the table to associate \var{key} with a new value.
The \var{key} in the car field should not be changed.
If \var{key} is not in \var{hashtable}, then \scheme{#f} is returned.
\schemedisplay
(define ht (make-eq-hashtable))
(define v (vector 'a 'b 'c))
(eq-hashtable-ref-cell ht v) ;=> #f
(eq-hashtable-set! ht v 3)
(define cell (eq-hashtable-ref-cell ht v))
cell ;=> ((#a b c) . 3)
(eq-hashtable-ref ht v 0) ;=> 3
(set-cdr! cell 4)
(eq-hashtable-ref ht v 0) ;=> 4
\endschemedisplay
%----------------------------------------------------------------------------
\entryheader
\formdef{eq-hashtable-delete!}{\categoryprocedure}{(eq-hashtable-delete! \var{hashtable} \var{key})}
@ -2456,6 +2514,37 @@ cell ;=> (a-key . 3)
(symbol-hashtable-ref ht k 0) ;=> 4
\endschemedisplay
%----------------------------------------------------------------------------
\entryheader
\formdef{symbol-hashtable-ref-cell}{\categoryprocedure}{(symbol-hashtable-ref-cell \var{hashtable} \var{key})}
\returns a pair if \var{key} is in \var{hashtable}, \scheme{#f} otherwise
\listlibraries
\endentryheader
\var{hashtable} must be a mutable symbol hashtable.
(A symbol hashtable is a hashtable created with hash function \scheme{symbol-hash}
and equivalence function \scheme{eq?}, \scheme{eqv?}, \scheme{equal?}, or \scheme{symbol=?}.)
\var{key} must be a symbol.
If \var{key} is associated with a value in \var{hashtable}, then it returns a pair
whose car is \var{key} and whose cdr is the associated value. Changing the cdr of
this pair effectively updates the table to associate \var{key} with a new value.
The \var{key} in the car field should not be changed.
If \var{key} is not in \var{hashtable}, then \scheme{#f} is returned.
\schemedisplay
(define ht (make-hashtable symbol-hash eq?))
(define k 'a-key)
(symbol-hashtable-ref-cell ht k) ;=> #f
(symbol-hashtable-set! ht k 3)
(define cell (symbol-hashtable-ref-cell ht k))
cell ;=> (a-key . 3)
(symbol-hashtable-ref ht k 0) ;=> 3
(set-cdr! cell 4)
(symbol-hashtable-ref ht k 0) ;=> 4
\endschemedisplay
%----------------------------------------------------------------------------
\entryheader
\formdef{symbol-hashtable-delete!}{\categoryprocedure}{(symbol-hashtable-delete! \var{hashtable} \var{key})}

View File

@ -510,6 +510,15 @@
(hashtable-cell $ht 'a 'b 'c))
(error? ; not a hashtable
(hashtable-cell '(hash . table) 'a 'b))
; hashtable-ref-cell
(error? ; wrong argument count
(hashtable-ref-cell))
(error? ; wrong argument count
(hashtable-ref-cell $ht))
(error? ; wrong argument count
(hashtable-ref-cell $ht 'a 'b))
(error? ; not a hashtable
(hashtable-ref-cell '(hash . table) 'a 'b))
; hashtable-delete!
(error? ; wrong argument count
(hashtable-delete!))
@ -695,6 +704,19 @@
(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) 1+2i) equal?)])
(hashtable-cell ht 'any 0)))
; hashtable-ref-cell
(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) "oops") equal?)])
(hashtable-ref-cell ht 'any)))
#;(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) -7) equal?)])
(hashtable-ref-cell ht 'any)))
(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) 3.5) equal?)])
(hashtable-ref-cell ht 'any)))
(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) 1+2i) equal?)])
(hashtable-ref-cell ht 'any)))
; hashtable-delete!
(error? ; invalid hash-function return value
(let ([ht (make-hashtable (lambda (x) "oops") equal?)])
@ -848,6 +870,15 @@
(eq-hashtable-cell $wht 'a 'b 'c))
(error? ; not a hashtable
(eq-hashtable-cell '(hash . table) 'a 'b))
; eq-hashtable-ref-cell
(error? ; wrong argument count
(eq-hashtable-ref-cell))
(error? ; wrong argument count
(eq-hashtable-ref-cell $wht))
(error? ; wrong argument count
(eq-hashtable-ref-cell $wht 'a 'b))
(error? ; not a hashtable
(eq-hashtable-ref-cell '(hash . table) 'a))
; eq-hashtable-try-atomic-cell
(error? ; wrong argument count
(eq-hashtable-try-atomic-cell))
@ -986,6 +1017,21 @@
(symbol-hashtable-cell $symht '(a) 'b))
(error? ; not a symbol
(hashtable-cell $symht '(a) 'b))
; symbol-hashtable-ref-cell
(error? ; wrong argument count
(symbol-hashtable-ref-cell))
(error? ; wrong argument count
(symbol-hashtable-ref-cell $symht))
(error? ; wrong argument count
(symbol-hashtable-ref-cell $symht 'a 'b))
(error? ; not a hashtable
(symbol-hashtable-ref-cell '(hash . table) 'a))
(error? ; not a symbol hashtable
(symbol-hashtable-ref-cell $ht 'a))
(error? ; not a symbol
(symbol-hashtable-ref-cell $symht '(a)))
(error? ; not a symbol
(hashtable-ref-cell $symht '(a)))
)
(mat eqv-hashtable-arguments
@ -1631,6 +1677,15 @@
[ls2-2 (map (lambda (a1) (eq-hashtable-try-atomic-cell ht (car a1) (cdr a1))) ls1)]
[ls3 (map (lambda (a1) (hashtable-cell wht (car a1) (cdr a1))) ls1)]
[ls4 (map (lambda (a1) (hashtable-cell eht (car a1) (cdr a1))) ls1)])
(let ([ls2* (map (lambda (a1) (eq-hashtable-ref-cell ht (car a1))) ls1)]
[ls3* (map (lambda (a1) (hashtable-ref-cell wht (car a1))) ls1)]
[ls4* (map (lambda (a1) (hashtable-ref-cell eht (car a1))) ls1)])
(unless (andmap (lambda (a2 a2* a3 a3* a4 a4*)
(and (eq? a2 a2*)
(eq? a3 a3*)
(eq? a4 a4*)))
ls2 ls2* ls3 ls3* ls4 ls4*)
(errorf #f "hashtable-ref-cell and hashtable-cell do not retrieve the same cells")))
(unless (andmap (lambda (a1 a2 a2-2 a3 a4)
(and (eq? (car a1) (car a2))
(eq? a2 a2-2)
@ -2993,6 +3048,15 @@
(let ([ls2 (map (lambda (a1) (hashtable-cell ht (car a1) (cdr a1))) ls1)]
[ls3 (map (lambda (a1) (hashtable-cell wht (car a1) (cdr a1))) ls1)]
[ls4 (map (lambda (a1) (hashtable-cell eht (car a1) (cdr a1))) ls1)])
(let ([ls2* (map (lambda (a1) (hashtable-ref-cell ht (car a1))) ls1)]
[ls3* (map (lambda (a1) (hashtable-ref-cell wht (car a1))) ls1)]
[ls4* (map (lambda (a1) (hashtable-ref-cell eht (car a1))) ls1)])
(unless (andmap (lambda (a2 a2* a3 a3* a4 a4*)
(and (eq? a2 a2*)
(eq? a3 a3*)
(eq? a4 a4*)))
ls2 ls2* ls3 ls3* ls4 ls4*)
(errorf #f "hashtable-ref-cell and hashtable-cell do not retrieve the same cells")))
(unless (andmap (lambda (a1 a2 a3 a4)
(and (eqv? (car a1) (car a2))
(eqv? (car a2) (car a3))
@ -3475,12 +3539,14 @@
(and (pair? a)
(eq? (car a) g)
(eq? (cdr a) s)
(eq? a (symbol-hashtable-ref-cell h g))
(begin
(hashtable-set! h g 'feisty)
(eq? (cdr a) 'feisty))
(begin
(set-cdr! a (list "feisty"))
(equal? (hashtable-ref h g #f) '("feisty"))))))
(eq? (symbol-hashtable-ref-cell h (gensym)) #f)
; test hashtable-copy when some keys may have moved
; symbol hashes don't change, but keeping test adapted from eq-hashtable mats anyway
(let ([t (parameterize ([collect-request-handler void])
@ -3684,6 +3750,9 @@
(set-cdr! a (cons (cdr a) 'vb))
a)
'(#vu8(1 2 3) . (bv . vb)))
(eq? (hashtable-cell $ght3 #vu8(1 2 3) 'bv)
(hashtable-ref-cell $ght3 #vu8(1 2 3)))
(eq? (hashtable-ref-cell $ght3 (gensym)) #f)
(equal-entries? $ght3 '#((a . b) 1e23 #vu8(1 2 3)) '#(161 14 (bv . vb)))
(let () ; carl's test program, with a few additions
(define cov:prof-hash

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-f-f 2019-06-15 20:51:38.000000000 -0600
--- errors-compile-0-f-t-f 2019-06-15 20:58:59.000000000 -0600
*** errors-compile-0-f-f-f 2019-07-26 13:30:16.000000000 -0400
--- errors-compile-0-f-t-f 2019-07-26 13:41:01.000000000 -0400
***************
*** 125,131 ****
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-f-f 2019-06-15 20:51:38.000000000 -0600
--- errors-compile-0-t-f-f 2019-06-15 21:06:35.000000000 -0600
*** errors-compile-0-f-f-f 2019-07-26 13:30:16.000000000 -0400
--- errors-compile-0-t-f-f 2019-07-26 13:52:12.000000000 -0400
***************
*** 93,99 ****
3.mo:Expected error in mat case-lambda: "incorrect number of arguments 2 to #<procedure foo>".
@ -4438,7 +4438,7 @@
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor #<record constructor descriptor> is not for parent of record type #<record type grand-child>".
record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #<record type bar>".
***************
*** 7582,7692 ****
*** 7582,7696 ****
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 2 to #<procedure>".
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #<procedure>".
@ -4495,6 +4495,10 @@
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-cell $ht (quote a))".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-cell $ht (quote a) (quote b) (quote c))".
hash.mo:Expected error in mat hashtable-arguments: "hashtable-cell: (hash . table) is not a hashtable".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell)".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell $ht)".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell $ht (quote a) (quote b))".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell (quote (hash . table)) (quote a) (quote b))".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete!)".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete! $ht)".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete! $ht (quote a) (quote b))".
@ -4550,7 +4554,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".
--- 7582,7692 ----
--- 7582,7696 ----
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 2 to #<procedure>".
hash.mo:Expected error in mat old-hash-table: "incorrect number of arguments 2 to #<procedure>".
@ -4607,6 +4611,10 @@
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 2 to #<procedure hashtable-cell>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 4 to #<procedure hashtable-cell>".
hash.mo:Expected error in mat hashtable-arguments: "hashtable-cell: (hash . table) is not a hashtable".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 0 to #<procedure hashtable-ref-cell>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 1 to #<procedure hashtable-ref-cell>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 3 to #<procedure hashtable-ref-cell>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 3 to #<procedure hashtable-ref-cell>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 0 to #<procedure hashtable-delete!>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 1 to #<procedure hashtable-delete!>".
! hash.mo:Expected error in mat hashtable-arguments: "incorrect number of arguments 3 to #<procedure hashtable-delete!>".
@ -4663,7 +4671,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".
***************
*** 7706,7817 ****
*** 7713,7835 ****
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".
@ -4707,6 +4715,10 @@
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-cell $wht (quote a))".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-cell $wht (quote a) (quote b) (quote c))".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-cell: (hash . table) is not an eq hashtable".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell)".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell $wht)".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell $wht (quote a) (quote b))".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-ref-cell: (hash . table) is not an eq hashtable".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell)".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell $wht)".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell $wht (quote a))".
@ -4768,6 +4780,13 @@
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell)".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell $symht)".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell $symht (quote a) (quote b))".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (hash . table) is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
! hash.mo:Expected error in mat eqv-hashtable-arguments: "incorrect argument count in call (make-weak-eqv-hashtable 3 #t)".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument -1".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument #t".
@ -4776,7 +4795,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".
--- 7706,7817 ----
--- 7713,7835 ----
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".
@ -4820,6 +4839,10 @@
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 2 to #<procedure eq-hashtable-cell>".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 4 to #<procedure eq-hashtable-cell>".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-cell: (hash . table) is not an eq hashtable".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 0 to #<procedure eq-hashtable-ref-cell>".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 1 to #<procedure eq-hashtable-ref-cell>".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 3 to #<procedure eq-hashtable-ref-cell>".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-ref-cell: (hash . table) is not an eq hashtable".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 0 to #<procedure eq-hashtable-try-atomic-cell>".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 1 to #<procedure eq-hashtable-try-atomic-cell>".
! hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect number of arguments 2 to #<procedure eq-hashtable-try-atomic-cell>".
@ -4881,6 +4904,13 @@
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect number of arguments 0 to #<procedure symbol-hashtable-ref-cell>".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect number of arguments 1 to #<procedure symbol-hashtable-ref-cell>".
! hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect number of arguments 3 to #<procedure symbol-hashtable-ref-cell>".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (hash . table) is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
! hash.mo:Expected error in mat eqv-hashtable-arguments: "incorrect number of arguments 2 to #<procedure make-weak-eqv-hashtable>".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument -1".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument #t".
@ -4890,7 +4920,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".
***************
*** 7819,7834 ****
*** 7837,7852 ****
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".
@ -4907,7 +4937,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>".
--- 7819,7834 ----
--- 7837,7852 ----
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".
@ -4925,7 +4955,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>".
***************
*** 7944,7951 ****
*** 7962,7969 ****
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)".
@ -4934,7 +4964,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>".
--- 7944,7951 ----
--- 7962,7969 ----
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)".
@ -4944,7 +4974,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>".
***************
*** 8541,8556 ****
*** 8559,8574 ****
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".
@ -4961,7 +4991,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*>".
--- 8541,8556 ----
--- 8559,8574 ----
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".
@ -4979,7 +5009,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*>".
***************
*** 8649,8671 ****
*** 8667,8689 ****
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".
@ -5003,7 +5033,7 @@
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 1 to #<procedure $fxu<>".
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #<procedure $fxu<>".
fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum".
--- 8649,8671 ----
--- 8667,8689 ----
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".
@ -5028,7 +5058,7 @@
fx.mo:Expected error in mat $fxu<: "incorrect number of arguments 3 to #<procedure $fxu<>".
fx.mo:Expected error in mat $fxu<: "$fxu<: <-int> is not a fixnum".
***************
*** 8697,8709 ****
*** 8715,8727 ****
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".
@ -5042,7 +5072,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".
--- 8697,8709 ----
--- 8715,8727 ----
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".
@ -5057,7 +5087,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".
***************
*** 8753,8765 ****
*** 8771,8783 ****
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".
@ -5071,7 +5101,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".
--- 8753,8765 ----
--- 8771,8783 ----
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".
@ -5086,7 +5116,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".
***************
*** 8857,8866 ****
*** 8875,8884 ****
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".
@ -5097,7 +5127,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".
--- 8857,8866 ----
--- 8875,8884 ----
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".
@ -5109,7 +5139,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".
***************
*** 8874,8907 ****
*** 8892,8925 ****
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".
@ -5144,7 +5174,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".
--- 8874,8907 ----
--- 8892,8925 ----
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".
@ -5180,7 +5210,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".
***************
*** 8911,8954 ****
*** 8929,8972 ****
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".
@ -5225,7 +5255,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".
--- 8911,8954 ----
--- 8929,8972 ----
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".
@ -5271,7 +5301,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".
***************
*** 8957,8967 ****
*** 8975,8985 ****
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>".
@ -5283,7 +5313,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".
--- 8957,8967 ----
--- 8975,8985 ----
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>".
@ -5296,7 +5326,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".
***************
*** 9021,9030 ****
*** 9039,9048 ****
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".
@ -5307,7 +5337,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".
--- 9021,9030 ----
--- 9039,9048 ----
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".
@ -5319,7 +5349,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".
***************
*** 9040,9049 ****
*** 9058,9067 ****
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".
@ -5330,7 +5360,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".
--- 9040,9049 ----
--- 9058,9067 ----
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".
@ -5342,7 +5372,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".
***************
*** 9059,9068 ****
*** 9077,9086 ****
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".
@ -5353,7 +5383,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".
--- 9059,9068 ----
--- 9077,9086 ----
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".
@ -5365,7 +5395,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".
***************
*** 9078,9088 ****
*** 9096,9106 ****
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".
@ -5377,7 +5407,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".
--- 9078,9088 ----
--- 9096,9106 ----
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".
@ -5390,7 +5420,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".
***************
*** 9105,9114 ****
*** 9123,9132 ****
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".
@ -5401,7 +5431,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".
--- 9105,9114 ----
--- 9123,9132 ----
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".
@ -5413,7 +5443,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".
***************
*** 9124,9141 ****
*** 9142,9159 ****
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".
@ -5432,7 +5462,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".
--- 9124,9141 ----
--- 9142,9159 ----
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".
@ -5452,7 +5482,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".
***************
*** 9143,9149 ****
*** 9161,9167 ****
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".
@ -5460,7 +5490,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".
--- 9143,9149 ----
--- 9161,9167 ----
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".
@ -5469,7 +5499,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".
***************
*** 9151,9157 ****
*** 9169,9175 ****
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".
@ -5477,7 +5507,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".
--- 9151,9157 ----
--- 9169,9175 ----
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".
@ -5486,7 +5516,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".
***************
*** 9159,9165 ****
*** 9177,9183 ****
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".
@ -5494,7 +5524,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".
--- 9159,9165 ----
--- 9177,9183 ----
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".
@ -5503,7 +5533,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".
***************
*** 9167,9173 ****
*** 9185,9191 ****
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".
@ -5511,7 +5541,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".
--- 9167,9173 ----
--- 9185,9191 ----
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".
@ -5520,7 +5550,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".
***************
*** 9175,9214 ****
*** 9193,9232 ****
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".
@ -5561,7 +5591,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".
--- 9175,9214 ----
--- 9193,9232 ----
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".
@ -5603,7 +5633,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".
***************
*** 9218,9224 ****
*** 9236,9242 ****
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".
@ -5611,7 +5641,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".
--- 9218,9224 ----
--- 9236,9242 ----
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".
@ -5620,7 +5650,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".
***************
*** 9228,9310 ****
*** 9246,9328 ****
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".
@ -5704,7 +5734,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".
--- 9228,9310 ----
--- 9246,9328 ----
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".
@ -5789,7 +5819,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".
***************
*** 9324,9359 ****
*** 9342,9377 ****
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".
@ -5826,7 +5856,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".
--- 9324,9359 ----
--- 9342,9377 ----
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".
@ -5864,7 +5894,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".
***************
*** 9361,9368 ****
*** 9379,9386 ****
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".
@ -5873,7 +5903,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".
--- 9361,9368 ----
--- 9379,9386 ----
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".
@ -5883,7 +5913,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".
***************
*** 9370,9376 ****
*** 9388,9394 ****
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".
@ -5891,7 +5921,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".
--- 9370,9376 ----
--- 9388,9394 ----
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".
@ -5900,7 +5930,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".
***************
*** 9378,9384 ****
*** 9396,9402 ****
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".
@ -5908,7 +5938,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".
--- 9378,9384 ----
--- 9396,9402 ----
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".
@ -5917,7 +5947,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".
***************
*** 9386,9399 ****
*** 9404,9417 ****
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".
@ -5932,7 +5962,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".
--- 9386,9399 ----
--- 9404,9417 ----
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".
@ -5948,7 +5978,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".
***************
*** 9439,9445 ****
*** 9457,9463 ****
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".
@ -5956,7 +5986,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".
--- 9439,9445 ----
--- 9457,9463 ----
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".
@ -5965,7 +5995,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".
***************
*** 9449,9462 ****
*** 9467,9480 ****
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".
@ -5980,7 +6010,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"".
--- 9449,9462 ----
--- 9467,9480 ----
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".
@ -5996,7 +6026,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"".
***************
*** 9491,9498 ****
*** 9509,9516 ****
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".
@ -6005,7 +6035,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"".
--- 9491,9498 ----
--- 9509,9516 ----
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".
@ -6015,7 +6045,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"".
***************
*** 9990,10002 ****
*** 10008,10020 ****
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".
@ -6029,7 +6059,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".
--- 9990,10002 ----
--- 10008,10020 ----
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".
@ -6044,7 +6074,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".
***************
*** 10024,10095 ****
*** 10042,10113 ****
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".
@ -6117,7 +6147,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".
--- 10024,10095 ----
--- 10042,10113 ----
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".
@ -6191,7 +6221,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".
***************
*** 10097,10110 ****
*** 10115,10128 ****
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".
@ -6206,7 +6236,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".
--- 10097,10110 ----
--- 10115,10128 ----
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".
@ -6222,7 +6252,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".
***************
*** 10130,10190 ****
*** 10148,10208 ****
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"".
@ -6284,7 +6314,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".
--- 10130,10190 ----
--- 10148,10208 ----
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"".

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-f-f 2019-06-15 20:51:38.000000000 -0600
--- errors-interpret-0-f-f-f 2019-06-15 21:15:00.000000000 -0600
*** errors-compile-0-f-f-f 2019-07-26 13:30:16.000000000 -0400
--- errors-interpret-0-f-f-f 2019-07-26 14:04:09.000000000 -0400
***************
*** 1,7 ****
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
@ -266,7 +266,7 @@
record.mo:Expected error in mat r6rs-records-procedural: "make-record-constructor-descriptor: record constructor descriptor #<record constructor descriptor> is not for parent of record type #<record type grand-child>".
record.mo:Expected error in mat r6rs-records-procedural: "make-record-type-descriptor: cannot extend sealed record type #<record type bar>".
***************
*** 8697,8709 ****
*** 8715,8727 ****
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".
@ -280,7 +280,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".
--- 8697,8709 ----
--- 8715,8727 ----
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".
@ -295,7 +295,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".
***************
*** 9464,9488 ****
*** 9482,9506 ****
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".
@ -321,7 +321,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".
--- 9464,9488 ----
--- 9482,9506 ----
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".
@ -348,7 +348,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".
***************
*** 9495,9526 ****
*** 9513,9544 ****
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".
@ -381,7 +381,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>".
--- 9495,9526 ----
--- 9513,9544 ----
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".
@ -415,7 +415,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>".
***************
*** 9528,9553 ****
*** 9546,9571 ****
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>".
@ -442,7 +442,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>".
--- 9528,9553 ----
--- 9546,9571 ----
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>".
@ -470,7 +470,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>".
***************
*** 9558,9592 ****
*** 9576,9610 ****
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>".
@ -506,7 +506,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>".
--- 9558,9592 ----
--- 9576,9610 ----
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>".
@ -543,7 +543,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>".
***************
*** 10193,10202 ****
*** 10211,10220 ****
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 ...)))".
@ -554,7 +554,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".
--- 10193,10202 ----
--- 10211,10220 ----
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 ...)))".

View File

@ -1,5 +1,5 @@
*** errors-compile-0-f-t-f 2019-06-15 20:58:59.000000000 -0600
--- errors-interpret-0-f-t-f 2019-06-15 21:23:50.000000000 -0600
*** errors-compile-0-f-t-f 2019-07-26 13:41:01.000000000 -0400
--- errors-interpret-0-f-t-f 2019-07-26 14:16:35.000000000 -0400
***************
*** 1,7 ****
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
@ -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".
***************
*** 8697,8709 ****
*** 8715,8727 ****
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".
--- 8697,8709 ----
--- 8715,8727 ----
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".
***************
*** 10193,10202 ****
*** 10211,10220 ****
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".
--- 10193,10202 ----
--- 10211,10220 ----
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 ...)))".

View File

@ -1,5 +1,5 @@
*** errors-compile-3-f-f-f 2019-06-15 20:55:12.000000000 -0600
--- errors-interpret-3-f-f-f 2019-06-15 21:19:30.000000000 -0600
*** errors-compile-3-f-f-f 2019-07-26 13:35:23.000000000 -0400
--- errors-interpret-3-f-f-f 2019-07-26 14:10:17.000000000 -0400
***************
*** 1,3 ****
--- 1,9 ----

View File

@ -1,5 +1,5 @@
*** errors-compile-3-f-t-f 2019-06-15 21:02:27.000000000 -0600
--- errors-interpret-3-f-t-f 2019-06-15 21:28:06.000000000 -0600
*** errors-compile-3-f-t-f 2019-07-26 13:46:04.000000000 -0400
--- errors-interpret-3-f-t-f 2019-07-26 14:22:41.000000000 -0400
***************
*** 1,3 ****
--- 1,9 ----

View File

@ -7635,6 +7635,10 @@ hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-cell $ht (quote a))".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-cell $ht (quote a) (quote b) (quote c))".
hash.mo:Expected error in mat hashtable-arguments: "hashtable-cell: (hash . table) is not a hashtable".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell)".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell $ht)".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell $ht (quote a) (quote b))".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-ref-cell (quote (hash . table)) (quote a) (quote b))".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete!)".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete! $ht)".
hash.mo:Expected error in mat hashtable-arguments: "incorrect argument count in call (hashtable-delete! $ht (quote a) (quote b))".
@ -7703,6 +7707,9 @@ hash.mo:Expected error in mat hash-return-value: "hashtable-update!: invalid has
hash.mo:Expected error in mat hash-return-value: "hashtable-cell: invalid hash-function #<procedure> return value "oops" for any".
hash.mo:Expected error in mat hash-return-value: "hashtable-cell: invalid hash-function #<procedure> return value 3.5 for any".
hash.mo:Expected error in mat hash-return-value: "hashtable-cell: invalid hash-function #<procedure> return value 1+2i for any".
hash.mo:Expected error in mat hash-return-value: "hashtable-ref-cell: invalid hash-function #<procedure> return value "oops" for any".
hash.mo:Expected error in mat hash-return-value: "hashtable-ref-cell: invalid hash-function #<procedure> return value 3.5 for any".
hash.mo:Expected error in mat hash-return-value: "hashtable-ref-cell: invalid hash-function #<procedure> return value 1+2i for any".
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".
@ -7746,6 +7753,10 @@ hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-cell $wht (quote a))".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-cell $wht (quote a) (quote b) (quote c))".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-cell: (hash . table) is not an eq hashtable".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell)".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell $wht)".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-ref-cell $wht (quote a) (quote b))".
hash.mo:Expected error in mat eq-hashtable-arguments: "eq-hashtable-ref-cell: (hash . table) is not an eq hashtable".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell)".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell $wht)".
hash.mo:Expected error in mat eq-hashtable-arguments: "incorrect argument count in call (eq-hashtable-try-atomic-cell $wht (quote a))".
@ -7807,6 +7818,13 @@ hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell)".
hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell $symht)".
hash.mo:Expected error in mat symbol-hashtable-arguments: "incorrect argument count in call (symbol-hashtable-ref-cell $symht (quote a) (quote b))".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (hash . table) is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: #<eq hashtable> is not a symbol hashtable".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hashtable-ref-cell: (a) is not a symbol".
hash.mo:Expected error in mat symbol-hashtable-arguments: "symbol-hash: (a) is not a symbol".
hash.mo:Expected error in mat eqv-hashtable-arguments: "incorrect argument count in call (make-weak-eqv-hashtable 3 #t)".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument -1".
hash.mo:Expected error in mat eqv-hashtable-arguments: "make-weak-eqv-hashtable: invalid size argument #t".

View File

@ -2660,6 +2660,7 @@
(dofretu16* #f 1 #f #f)
(dofretu32* #f 1 #f #f)
(eq-hashtable-ref #f 3 #f #t)
(eq-hashtable-ref-cell #f 2 #f #t)
(eq-hashtable-contains? #f 2 #f #t)
(eq-hashtable-cell #f 3 #f #t)
(eq-hashtable-set! #f 3 #f #t)
@ -2667,6 +2668,7 @@
(eq-hashtable-update! #f 4 #f #t)
(eq-hashtable-delete! #f 2 #f #t)
(symbol-hashtable-ref #f 3 #f #t)
(symbol-hashtable-ref-cell #f 2 #f #t)
(symbol-hashtable-contains? #f 2 #f #t)
(symbol-hashtable-cell #f 3 #f #t)
(symbol-hashtable-set! #f 3 #f #t)

View File

@ -6006,6 +6006,8 @@
[() (build-libcall #f src sexpr event)])
(define-inline 3 eq-hashtable-ref
[(e1 e2 e3) (build-libcall #f src sexpr eq-hashtable-ref e1 e2 e3)])
(define-inline 3 eq-hashtable-ref-cell
[(e1 e2) (build-libcall #f src sexpr eq-hashtable-ref-cell e1 e2)])
(define-inline 3 eq-hashtable-contains?
[(e1 e2) (build-libcall #f src sexpr eq-hashtable-contains? e1 e2)])
(define-inline 3 eq-hashtable-set!
@ -6020,6 +6022,8 @@
[(e1 e2) (build-libcall #f src sexpr eq-hashtable-delete! e1 e2)])
(define-inline 3 symbol-hashtable-ref
[(e1 e2 e3) (build-libcall #f src sexpr symbol-hashtable-ref e1 e2 e3)])
(define-inline 3 symbol-hashtable-ref-cell
[(e1 e2) (build-libcall #f src sexpr symbol-hashtable-ref-cell e1 e2)])
(define-inline 3 symbol-hashtable-contains?
[(e1 e2) (build-libcall #f src sexpr symbol-hashtable-contains? e1 e2)])
(define-inline 3 symbol-hashtable-set!

View File

@ -1478,6 +1478,13 @@
(vector-ref vec (fxlogand ($fxaddress x) (fx- (vector-length vec) 1))))
cdr v))
(define-library-entry (eq-hashtable-ref-cell h x)
(lookup-keyval x
(let ([vec (ht-vec h)])
(vector-ref vec (fxlogand ($fxaddress x) (fx- (vector-length vec) 1))))
(lambda (x) x)
#f))
(define-library-entry (eq-hashtable-contains? h x)
(lookup-keyval x
(let ([vec (ht-vec h)])
@ -1616,6 +1623,17 @@
(if (eq? (car a) x) (cdr a) (loop (cdr b)))))))
(pariah v))))
(define-library-entry (symbol-hashtable-ref-cell h x)
(let ([hc ($symbol-hash x)])
(if hc
(let ([vec (ht-vec h)])
(let loop ([b (vector-ref vec (fxlogand hc (fx- (vector-length vec) 1)))])
(if (null? b)
#f
(let ([a (car b)])
(if (eq? (car a) x) a (loop (cdr b)))))))
(pariah #f))))
(define-library-entry (symbol-hashtable-contains? h x)
(let ([hc ($symbol-hash x)])
(and hc

View File

@ -61,12 +61,14 @@ Documentation notes:
;;; other generic hash operators
(define hashtable-cell)
(define hashtable-ref-cell) ; hashtable key
(define hashtable-weak?) ; hashtable
(define hashtable-ephemeron?) ; hashtable
;;; eq-hashtable operators
(define make-weak-eq-hashtable) ; [k], k >= 0
(define eq-hashtable-ref) ; eq-hashtable key default
(define eq-hashtable-ref-cell) ; eq-hashtable key
(define eq-hashtable-contains?) ; eq-hashtable key
(define eq-hashtable-set!) ; eq-hashtable key obj
(define eq-hashtable-update!) ; eq-hashtable key proc default
@ -78,6 +80,7 @@ Documentation notes:
;;; eq-hashtable operators
(define make-symbol-hashtable) ; [k], k >= 0
(define symbol-hashtable-ref) ; symbol-hashtable key default
(define symbol-hashtable-ref-cell) ; symbol-hashtable key
(define symbol-hashtable-contains?) ; symbol-hashtable key
(define symbol-hashtable-set!) ; symbol-hashtable key obj
(define symbol-hashtable-update!) ; symbol-hashtable key proc default
@ -133,6 +136,15 @@ Documentation notes:
(let ([a (car b)])
(if (equiv? (car a) x) (cdr a) (loop (cdr b)))))))))
(define $gen-hashtable-ref-cell
(lambda (h x who)
(let ([vec (ht-vec h)] [equiv? (gen-ht-equiv? h)])
(let loop ([b (vector-ref vec (do-hash (gen-ht-hash h) x (fx- (vector-length vec) 1) who))])
(if (null? b)
#f
(let ([a (car b)])
(if (equiv? (car a) x) a (loop (cdr b)))))))))
(define $gen-hashtable-contains?
(lambda (h x who)
(let ([vec (ht-vec h)] [equiv? (gen-ht-equiv? h)])
@ -336,6 +348,12 @@ Documentation notes:
($gen-hashtable-ref (eqv-ht-genht h) x v who)
(#3%eq-hashtable-ref (eqv-ht-eqht h) x v))))
(define $eqv-hashtable-ref-cell
(lambda (h x who)
(if (eqv-generic? x)
($gen-hashtable-ref-cell (eqv-ht-genht h) x who)
(#3%eq-hashtable-ref-cell (eqv-ht-eqht h) x))))
(define $eqv-hashtable-contains?
(lambda (h x who)
(if (eqv-generic? x)
@ -576,6 +594,12 @@ Documentation notes:
($oops 'eq-hashtable-ref "~s is not an eq hashtable" h))
(#3%eq-hashtable-ref h x v)))
(set! eq-hashtable-ref-cell
(lambda (h x)
(unless (eq-ht? h)
($oops 'eq-hashtable-ref-cell "~s is not an eq hashtable" h))
(#3%eq-hashtable-ref-cell h x)))
(set! eq-hashtable-contains?
(lambda (h x)
(unless (eq-ht? h)
@ -652,6 +676,12 @@ Documentation notes:
(unless (symbol? x) ($oops who "~s is not a symbol" x))
(#3%symbol-hashtable-ref h x v)))
(set-who! symbol-hashtable-ref-cell
(lambda (h x)
(unless (symbol-ht? h) ($oops who "~s is not a symbol hashtable" h))
(unless (symbol? x) ($oops who "~s is not a symbol" x))
(#3%symbol-hashtable-ref-cell h x)))
(set-who! symbol-hashtable-contains?
(lambda (h x)
(unless (symbol-ht? h) ($oops who "~s is not a symbol hashtable" h))
@ -699,6 +729,18 @@ Documentation notes:
[(eqv) ($eqv-hashtable-ref h x v who)]
[else ($gen-hashtable-ref h x v who)])))
(set-who! hashtable-ref-cell
(lambda (h x)
(unless (xht? h)
($oops who "~s is not a hashtable" h))
(case (xht-type h)
[(eq) (#3%eq-hashtable-ref-cell h x)]
[(symbol)
(unless (symbol? x) ($oops 'symbol-hash "~s is not a symbol" x))
(#3%symbol-hashtable-ref-cell h x)]
[(eqv) ($eqv-hashtable-ref-cell h x who)]
[else ($gen-hashtable-ref-cell h x who)])))
(set-who! hashtable-contains?
(lambda (h x)
(unless (xht? h)

View File

@ -1283,6 +1283,7 @@
(eq-hashtable-delete! [sig [(eq-hashtable ptr) -> (void)]] [flags true])
(eq-hashtable-ephemeron? [sig [(eq-hashtable) -> (boolean)]] [flags pure mifoldable discard])
(eq-hashtable-ref [sig [(eq-hashtable ptr ptr) -> (ptr)]] [flags discard])
(eq-hashtable-ref-cell [sig [(eq-hashtable ptr) -> (prt)]] [flags discard])
(eq-hashtable-set! [sig [(eq-hashtable ptr ptr) -> (void)]] [flags true])
(eq-hashtable-try-atomic-cell [sig [(eq-hashtable ptr ptr) -> (maybe-pair)]] [flags])
(eq-hashtable-update! [sig [(eq-hashtable ptr procedure ptr) -> (void)]] [flags])
@ -1397,6 +1398,7 @@
(hashtable-cells [sig [(hashtable) -> (vector)] [(hashtable uint) -> (vector)]] [flags alloc])
(hashtable-entries [sig [(hashtable) -> (vector vector)] [(hashtable uint) -> (vector vector)]] [flags discard]) ; has size argument
(hashtable-keys [sig [(hashtable) -> (vector)] [(hashtable uint) -> (vector)]] [flags alloc]) ; has size argument
(hashtable-ref-cell [sig [(hashtable ptr) -> (ptr)]] [flags discard])
(hashtable-values [sig [(hashtable) -> (vector)] [(hashtable uint) -> (vector)]] [flags alloc])
(hashtable-weak? [sig [(hashtable) -> (boolean)]] [flags pure mifoldable discard])
(iconv-codec [feature iconv] [sig [(sub-string) -> (codec)]] [flags pure true])
@ -1687,6 +1689,7 @@
(symbol-hashtable-contains? [sig [(symbol-hashtable ptr) -> (boolean)]] [flags discard])
(symbol-hashtable-delete! [sig [(symbol-hashtable ptr) -> (void)]] [flags true])
(symbol-hashtable-ref [sig [(symbol-hashtable symbol ptr) -> (ptr)]] [flags discard])
(symbol-hashtable-ref-cell [sig [(symbol-hashtable symbol) -> (ptr)]] [flags discard])
(symbol-hashtable-set! [sig [(symbol-hashtable symbol ptr) -> (void)]] [flags true])
(symbol-hashtable-update! [sig [(symbol-hashtable symbol procedure ptr) -> (void)]] [flags])
(syntax->annotation [sig [(ptr) -> (ptr)]] [flags pure unrestricted mifoldable discard])