- generated bytevector=? procedure now gets out quickly on eq
arguments. cp0 optimizes away a number of additional equality operations at optimize-level 3 (including bytevector=?) when applied to the same variable references, as it already did for eq?, eqv?, and equal?, at all optimize levels. cpnanopass.ss, cp0.ss, primdata.ss, cp0.ms - updated bullyx patches patch* - updated release notes and tweaked user's guide. release-notes.stex, objects.stex original commit: e90c39a72563eafa4fccaf1d197060bf20aa552f
This commit is contained in:
parent
b7cd626f71
commit
f825e23db2
11
LOG
11
LOG
|
@ -393,3 +393,14 @@
|
|||
mkheader.ss, primdata.ss, prims.ss,
|
||||
fasl.c, gc.c, types.h
|
||||
root-experr*, patch*
|
||||
- generated bytevector=? procedure now gets out quickly on eq
|
||||
arguments. cp0 optimizes away a number of additional equality
|
||||
operations at optimize-level 3 (including bytevector=?) when
|
||||
applied to the same variable references, as it already did for
|
||||
eq?, eqv?, and equal?, at all optimize levels.
|
||||
cpnanopass.ss, cp0.ss, primdata.ss,
|
||||
cp0.ms
|
||||
- updated bullyx patches
|
||||
patch*
|
||||
- updated release notes and tweaked user's guide.
|
||||
release-notes.stex, objects.stex
|
||||
|
|
|
@ -427,6 +427,12 @@ These extensions are disabled in an input stream after \scheme{#!r6rs} has
|
|||
been seen by the reader, unless \scheme{#!chezscheme} has been seen more
|
||||
recently.
|
||||
|
||||
\index{immutable strings}\index{mutable strings}%
|
||||
All strings are mutable by default, including constants.
|
||||
A program can create immutable strings via
|
||||
\index{\scheme{string->immutable-string}}\scheme{string->immutable-string}.
|
||||
Any attempt to modify an immutable string causes an exception to be raised.
|
||||
|
||||
The length and indices of a string in {\ChezScheme} are always fixnums.
|
||||
|
||||
|
||||
|
@ -466,7 +472,7 @@ When passed one argument, each of these predicates returns \scheme{#t}.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{src} and \var{dst} must be strings.
|
||||
\var{src} and \var{dst} must be strings, and \var{dst} must be mutable.
|
||||
\var{src-start}, \var{dst-start}, and \var{n} must be exact nonnegative
|
||||
integers.
|
||||
The sum of \var{src-start} and \var{n} must not exceed the length of \var{src},
|
||||
|
@ -503,6 +509,7 @@ s2 ;=> "-bollolly-"
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{string} must be mutable.
|
||||
The characters of \var{string} from \var{start} (inclusive) to \var{end}
|
||||
(exclusive) are set to \var{char}.
|
||||
\var{start} and \var{end} must be nonnegative integers; \var{start}
|
||||
|
@ -525,6 +532,7 @@ If $end\le start$, the string is left unchanged.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{string} must be mutable.
|
||||
\var{n} must be an exact nonnegative fixnum not greater than the length of
|
||||
\var{string}.
|
||||
If \var{n} is zero, \scheme{string-truncate!} returns the empty string.
|
||||
|
@ -543,37 +551,35 @@ s ;=> "$$$"
|
|||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{mutable-string?}{\categoryprocedure}{(mutable-string? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable string, \scheme{#f} otherwise
|
||||
\formdef{immutable-string?}{\categoryprocedure}{(immutable-string? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable/immutable string, \scheme{#f} otherwise
|
||||
\returns \scheme{#t} if \var{obj} is an immutable string, \scheme{#f} otherwise
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
String-mutation operations, such as \scheme{string-set!}, fail when given an immutable string.
|
||||
Strings are mutable by default, but \scheme{string->immutable-string}
|
||||
creates immutable strings.
|
||||
|
||||
\schemedisplay
|
||||
\noskip\schemedisplay
|
||||
(mutable-string? (string #\a #\b #\c)) ;=> #t
|
||||
(mutable-string? (string->immutable-string "abc")) ;=> #f
|
||||
(immutable-string? (string #\a #\b #\c)) ;=> #f
|
||||
(immutable-string? (string->immutable-string "abc")) ;=> #t
|
||||
(immutable-string? (cons 3 4)) ;=> #f
|
||||
\endschemedisplay
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{string->immutable-string}{\categoryprocedure}{(string->immutable-string \var{string})}
|
||||
\returns either an immutable copy of \var{string} or \var{string} itself
|
||||
\returns an immutable string equal to \var{string}
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{string} must be a string. The result is \var{string} itself if \var{string}
|
||||
is immutable, otherwise the result is an immutable string with the same content as \var{string}.
|
||||
\index{immutable strings}\index{mutable strings}%
|
||||
The result is \var{string} itself if \var{string}
|
||||
is immutable; otherwise, the result is an immutable string with the same content as \var{string}.
|
||||
|
||||
\schemedisplay
|
||||
(define s (string->string-immutable "xyz"))
|
||||
(string-set! s 0 #\a) ;=> \var{exception: "xyz" is immutable}
|
||||
(define s (string->immutable-string (string #\x #\y #\z)))
|
||||
(string-set! s 0 #\a) ;=> \var{exception: not mutable}
|
||||
\endschemedisplay
|
||||
|
||||
|
||||
|
@ -591,6 +597,12 @@ recently.
|
|||
|
||||
The length and indices of a vector in {\ChezScheme} are always fixnums.
|
||||
|
||||
\index{immutable vectors}\index{mutable vectors}%
|
||||
All vectors are mutable by default, including constants.
|
||||
A program can create immutable vectors via
|
||||
\index{\scheme{vector->immutable-vector}}\scheme{vector->immutable-vector}.
|
||||
Any attempt to modify an immutable vector causes an exception to be raised.
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{vector-copy}{\categoryprocedure}{(vector-copy \var{vector})}
|
||||
|
@ -618,6 +630,7 @@ The elements themselves are not copied.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{vector} must be mutable.
|
||||
\scheme{vector-set-fixnum!} changes the \var{n}th element of \var{vector} to \var{fixnum}.
|
||||
\var{n} must be an exact nonnegative integer strictly less than
|
||||
the length of \var{vector}.
|
||||
|
@ -641,42 +654,41 @@ See also the description of fixnum-only vectors (fxvectors) below.
|
|||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{mutable-vector?}{\categoryprocedure}{(mutable-vector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable vector, \scheme{#f} otherwise
|
||||
\formdef{immutable-vector?}{\categoryprocedure}{(immutable-vector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable/immutable vector, \scheme{#f} otherwise
|
||||
\returns \scheme{#t} if \var{obj} is an immutable vector, \scheme{#f} otherwise
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
Vector-mutation operations, such as \scheme{vector-set!}, fail when given an immutable vector.
|
||||
Vectors are mutable by default, but \scheme{vector->immutable-vector}
|
||||
creates immutable vectors.
|
||||
|
||||
\schemedisplay
|
||||
\noskip\schemedisplay
|
||||
(mutable-vector? (vector 1 2 3)) ;=> #t
|
||||
(mutable-vector? (vector->immutable-vector (vector 1 2 3))) ;=> #f
|
||||
(immutable-vector? (vector 1 2 3)) ;=> #f
|
||||
(immutable-vector? (vector->immutable-vector (vector 1 2 3))) ;=> #t
|
||||
(immutable-vector? (cons 3 4)) ;=> #f
|
||||
\endschemedisplay
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{vector->immutable-vector}{\categoryprocedure}{(vector->immutable-vector \var{vector})}
|
||||
\returns either an immutable copy of \var{vector} or \var{vector} itself
|
||||
\returns an immutable vector equal to \var{vector}
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{vector} must be a vector. The result is \var{vector} itself if \var{vector}
|
||||
is immutable, otherwise the result is an immutable vector with the same content as \var{vector}.
|
||||
\index{immutable vectors}\index{mutable vectors}%
|
||||
The result is \var{vector} itself if \var{vector}
|
||||
is immutable; otherwise, the result is an immutable vector with the same content as \var{vector}.
|
||||
|
||||
\schemedisplay
|
||||
(define s (vector->vector-immutable (vector 1 2 3)))
|
||||
(vector-set! s 0 0) ;=> \var{exception: \#(1 2 3) is immutable}
|
||||
(define v (vector->immutable-vector (vector 1 2 3)))
|
||||
(vector-set! v 0 0) ;=> \var{exception: not mutable}
|
||||
\endschemedisplay
|
||||
|
||||
|
||||
\section{Fixnum-Only Vectors\label{SECTFXVECTORS}}
|
||||
|
||||
\index{fxvectors}%
|
||||
Fixnum-only vectors, or ``fxvectors,'' are like vectors but contain
|
||||
only fixnums.
|
||||
Fxvectors are written with the \scheme{#vfx} prefix in place of the
|
||||
|
@ -695,6 +707,12 @@ The storage management system also takes advantage of the fact that
|
|||
fxvectors contain no pointers to place them in an area of memory that
|
||||
does not have to be traced during collection.
|
||||
|
||||
\index{immutable fxvectors}\index{mutable fxvectors}%
|
||||
All fxvectors are mutable by default, including constants.
|
||||
A program can create immutable fxvectors via
|
||||
\index{\scheme{fxvector->immutable-fxvector}}\scheme{fxvector->immutable-fxvector}.
|
||||
Any attempt to modify an immutable fxvector causes an exception to be raised.
|
||||
|
||||
See also \scheme{vector-set-fixnum!} above.
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
|
@ -787,6 +805,7 @@ the length of \var{fxvector}.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{fxvector} must be mutable.
|
||||
\var{n} must be a nonnegative fixnum strictly less than
|
||||
the length of \var{fxvector}.
|
||||
\scheme{fxvector-set!} changes the \var{n}th element of \var{fxvector} to \var{fixnum}.
|
||||
|
@ -806,6 +825,7 @@ the length of \var{fxvector}.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{fxvector} must be mutable.
|
||||
\scheme{fxvector-fill!} replaces each element of \var{fxvector} with \var{fixnum}.
|
||||
|
||||
\schemedisplay
|
||||
|
@ -871,21 +891,18 @@ as \var{fxvector}.
|
|||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{mutable-fxvector?}{\categoryprocedure}{(mutable-fxvector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable fxvector, \scheme{#f} otherwise
|
||||
\formdef{immutable-fxvector?}{\categoryprocedure}{(immutable-fxvector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable/immutable fxvector, \scheme{#f} otherwise
|
||||
\returns \scheme{#t} if \var{obj} is an immutable fxvector, \scheme{#f} otherwise
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
Fxvector-mutation operations, such as \scheme{fxvector-set!}, fail when given an immutable fxvector.
|
||||
Fxvectors are mutable by default, but \scheme{fxvector->immutable-fxvector}
|
||||
creates immutable fxvectors.
|
||||
|
||||
\schemedisplay
|
||||
\noskip\schemedisplay
|
||||
(mutable-fxvector? (fxvector 1 2 3)) ;=> #t
|
||||
(mutable-fxvector? (fxvector->immutable-fxvector (fxvector 1 2 3))) ;=> #f
|
||||
(immutable-fxvector? (fxvector 1 2 3)) ;=> #f
|
||||
(immutable-fxvector? (fxvector->immutable-fxvector (fxvector 1 2 3))) ;=> #t
|
||||
(immutable-fxvector? (cons 3 4)) ;=> #f
|
||||
\endschemedisplay
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
|
@ -896,12 +913,13 @@ creates immutable fxvectors.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{fxvector} must be a fxvector. The result is \var{fxvector} itself if \var{fxvector}
|
||||
is immutable, otherwise the result is an immutable fxvector with the same content as \var{fxvector}.
|
||||
\index{immutable fxvectors}\index{mutable fxvectors}%
|
||||
The result is \var{fxvector} itself if \var{fxvector}
|
||||
is immutable; otherwise, the result is an immutable fxvector with the same content as \var{fxvector}.
|
||||
|
||||
\schemedisplay
|
||||
(define s (fxvector->fxvector-immutable (fxvector 1 2 3)))
|
||||
(fxvector-set! s 0 0) ;=> \var{exception: \#vfx(1 2 3) is immutable}
|
||||
(define v (fxvector->immutable-fxvector (fxvector 1 2 3)))
|
||||
(fxvector-set! v 0 0) ;=> \var{exception: not mutable}
|
||||
\endschemedisplay
|
||||
|
||||
|
||||
|
@ -922,6 +940,12 @@ primitives for loading and storing 3, 5, 6, and 7-byte quantities.
|
|||
|
||||
The length and indices of a bytevector in {\ChezScheme} are always fixnums.
|
||||
|
||||
\index{immutable bytevectors}\index{mutable bytevectors}%
|
||||
All bytevectors are mutable by default, including constants.
|
||||
A program can create immutable bytevectors via
|
||||
\index{\scheme{bytevector->immutable-bytevector}}\scheme{bytevector->immutable-bytevector}.
|
||||
Any attempt to modify an immutable bytevector causes an exception to be raised.
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{bytevector}{\categoryprocedure}{(bytevector \var{fill} \dots)}
|
||||
|
@ -992,6 +1016,7 @@ are signed rather than unsigned.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{bytevector} must be mutable.
|
||||
\var{n} must be an exact nonnegative fixnum not greater than the length of
|
||||
\var{bytevector}.
|
||||
If \var{n} is zero, \scheme{bytevector-truncate!} returns the empty bytevector.
|
||||
|
@ -1055,6 +1080,7 @@ complement value.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{bytevector} must be mutable.
|
||||
\var{n} must be an exact nonnegative integer and
|
||||
indexes the starting byte of the value.
|
||||
The sum of \var{n} and the number of bytes occupied by the value must
|
||||
|
@ -1084,39 +1110,37 @@ Negative values are stored as their two's complement equivalent.
|
|||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{mutable-bytevector?}{\categoryprocedure}{(mutable-bytevector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable bytevector, \scheme{#f} otherwise
|
||||
\formdef{immutable-bytevector?}{\categoryprocedure}{(immutable-bytevector? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable/immutable bytevector, \scheme{#f} otherwise
|
||||
\returns \scheme{#t} if \var{obj} is an immutable bytevector, \scheme{#f} otherwise
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
Bytevector-mutation operations, such as \scheme{bytevector-set!}, fail when given an immutable bytevector.
|
||||
Bytevectors are mutable by default, but \scheme{bytevector->immutable-bytevector}
|
||||
creates immutable bytevectors.
|
||||
|
||||
\schemedisplay
|
||||
\noskip\schemedisplay
|
||||
(mutable-bytevector? (bytevector 1 2 3)) ;=> #t
|
||||
(mutable-bytevector?
|
||||
(bytevector->immutable-bytevector (bytevector 1 2 3))) ;=> #f
|
||||
(bytevector->immutable-bytevector (bytevector 1 2 3))) ;=> #f
|
||||
(immutable-bytevector? (bytevector 1 2 3)) ;=> #f
|
||||
(immutable-bytevector?
|
||||
(bytevector->immutable-bytevector (bytevector 1 2 3))) ;=> #t
|
||||
(bytevector->immutable-bytevector (bytevector 1 2 3))) ;=> #t
|
||||
(immutable-bytevector? (cons 3 4)) ;=> #f
|
||||
\endschemedisplay
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{bytevector->immutable-bytevector}{\categoryprocedure}{(bytevector->immutable-bytevector \var{bytevector})}
|
||||
\returns either an immutable copy of \var{bytevector} or \var{bytevector} itself
|
||||
\returns an immutable \var{bytevector} equal to \var{bytevector}
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{bytevector} must be a bytevector. The result is \var{bytevector} itself if \var{bytevector}
|
||||
is immutable, otherwise the result is an immutable bytevector with the same content as \var{bytevector}.
|
||||
\index{immutable bytevectors}\index{mutable bytevectors}%
|
||||
The result is \var{bytevector} itself if \var{bytevector}
|
||||
is immutable; otherwise, the result is an immutable bytevector with the same content as \var{bytevector}.
|
||||
|
||||
\schemedisplay
|
||||
(define s (bytevector->bytevector-immutable (bytevector 1 2 3)))
|
||||
(bytevector-set! s 0 0) ;=> \var{exception: \#vu8(1 2 3) is immutable}
|
||||
(define bv (bytevector->immutable-bytevector (bytevector 1 2 3)))
|
||||
(bytevector-u8-set! bv 0 0) ;=> \var{exception: not mutable}
|
||||
\endschemedisplay
|
||||
|
||||
|
||||
|
@ -1136,6 +1160,12 @@ The box syntax is disabled in an input stream after \scheme{#!r6rs} has
|
|||
been seen by the reader, unless \scheme{#!chezscheme} has been seen more
|
||||
recently.
|
||||
|
||||
\index{immutable boxes}\index{mutable boxes}%
|
||||
All boxes are mutable by default, including constants.
|
||||
A program can create immutable boxes via
|
||||
\index{\scheme{box-immutable}}\scheme{box-immutable}.
|
||||
Any attempt to modify an immutable box causes an exception to be raised.
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{box?}{\categoryprocedure}{(box? \var{obj})}
|
||||
|
@ -1187,16 +1217,17 @@ recently.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
\var{box} must be mutable.
|
||||
\scheme{set-box!} sets the contents of \var{box} to \var{obj}.
|
||||
|
||||
\schemedisplay
|
||||
(let ([b (box 'x)])
|
||||
(set-box! b 'y)
|
||||
b) ;=> #&y
|
||||
(set-box! b 'y)
|
||||
b) ;=> #&y
|
||||
|
||||
(let ([incr!
|
||||
(lambda (x)
|
||||
(set-box! x (+ (unbox x) 1)))])
|
||||
(set-box! x (+ (unbox x) 1)))])
|
||||
(let ([b (box 3)])
|
||||
(incr! b)
|
||||
(unbox b))) ;=> 4
|
||||
|
@ -1205,21 +1236,18 @@ recently.
|
|||
%----------------------------------------------------------------------------
|
||||
\entryheader
|
||||
\formdef{mutable-box?}{\categoryprocedure}{(mutable-box? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable box, \scheme{#f} otherwise
|
||||
\formdef{immutable-box?}{\categoryprocedure}{(immutable-box? \var{obj})}
|
||||
\returns \scheme{#t} if \var{obj} is a mutable/immutable box, \scheme{#f} otherwise
|
||||
\returns \scheme{#t} if \var{obj} is an immutable box, \scheme{#f} otherwise
|
||||
\listlibraries
|
||||
\endentryheader
|
||||
|
||||
\noindent
|
||||
Box-mutation operations, such as \scheme{set-box!}, fail when given an immutable box.
|
||||
Boxes are mutable by default, but \scheme{box-immutable}
|
||||
creates immutable boxes.
|
||||
|
||||
\schemedisplay
|
||||
(box-mutable? (box 1)) ;=> #t
|
||||
(box-mutable? (box-immutable 1) ;=> #f
|
||||
(box-immutable? (box 1)) ;=> #f
|
||||
(box-immutable? (box-immutable 1) ;=> #t
|
||||
\noskip\schemedisplay
|
||||
(mutable-box? (box 1)) ;=> #t
|
||||
(mutable-box? (box-immutable 1)) ;=> #f
|
||||
(immutable-box? (box 1)) ;=> #f
|
||||
(immutable-box? (box-immutable 1)) ;=> #t
|
||||
(mutable-box? (cons 3 4)) ;=> #f
|
||||
\endschemedisplay
|
||||
|
||||
%----------------------------------------------------------------------------
|
||||
|
@ -1230,12 +1258,13 @@ creates immutable boxes.
|
|||
\endentryheader
|
||||
|
||||
\noindent
|
||||
Since boxes are intended to support a mutable level of indirection, imutable boxes
|
||||
are rarely useful, but they are provided for consistency with vectors.
|
||||
\index{immutable boxes}\index{mutable boxes}%
|
||||
Boxes are typically intended to support shared, mutable structure, so immutable boxes
|
||||
are not often useful.
|
||||
|
||||
\schemedisplay
|
||||
(define s (box-immutable 1))
|
||||
(set-box! s 0) ;=> \var{exception: \#\&1 is immutable}
|
||||
(define b (box-immutable 1))
|
||||
(set-box! b 0) ;=> \var{exception: not mutable}
|
||||
\endschemedisplay
|
||||
|
||||
|
||||
|
|
121
mats/cp0.ms
121
mats/cp0.ms
|
@ -2707,3 +2707,124 @@
|
|||
(#2%display "1")
|
||||
(#2%list q n))))
|
||||
)
|
||||
|
||||
(mat equality-of-refs
|
||||
(begin
|
||||
(define-syntax eqtest
|
||||
(syntax-rules ()
|
||||
[(_ eqprim) (eqtest eqprim #f)]
|
||||
[(_ eqprim generic?)
|
||||
(parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f])
|
||||
(let ([arity-mask (procedure-arity-mask eqprim)] [primref `($primitive ,(if (= (optimize-level) 3) 3 2) eqprim)])
|
||||
(define-syntax ifsafe
|
||||
(syntax-rules ()
|
||||
[(_ n e1 e2)
|
||||
(if (and (fxbit-set? arity-mask n) (or generic? (= (optimize-level) 3))) e1 e2)]))
|
||||
(and
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x)))
|
||||
(ifsafe 1
|
||||
`(lambda (x) #t)
|
||||
`(lambda (x) (,primref x))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim (begin (x) x))))
|
||||
(ifsafe 1
|
||||
`(lambda (x) (x) #t)
|
||||
`(lambda (x) (,primref (begin (x) x)))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (set! x (x x)) (x (eqprim x))))
|
||||
(ifsafe 1
|
||||
`(lambda (x) (set! x (x x)) (x #t))
|
||||
`(lambda (x) (set! x (x x)) (x (,primref x)))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim (x x))))
|
||||
(ifsafe 1
|
||||
`(lambda (x) (x x) #t)
|
||||
`(lambda (x) (,primref (x x)))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x x)))
|
||||
(ifsafe 2
|
||||
`(lambda (x) #t)
|
||||
`(lambda (x) (,primref x x))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim (begin (x) x) x)))
|
||||
(ifsafe 2
|
||||
`(lambda (x) (x) #t)
|
||||
`(lambda (x) (,primref (begin (x) x) x))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x (begin (x) x))))
|
||||
(ifsafe 2
|
||||
`(lambda (x) (x) #t)
|
||||
`(lambda (x) (,primref x (begin (x) x)))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim (begin (x) x) (begin (x x) x))))
|
||||
(ifsafe 2
|
||||
`(lambda (x) (x) (x x) #t)
|
||||
`(lambda (x) (,primref (begin (x) x) (begin (x x) x)))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x y) (eqprim x y)))
|
||||
`(lambda (x y) (,primref x y)))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x x x x x)))
|
||||
(ifsafe 5
|
||||
`(lambda (x) #t)
|
||||
`(lambda (x) (,primref x x x x x))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x y) (eqprim x x x x y)))
|
||||
`(lambda (x y) (,primref x x x x y)))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x x (begin (x) x) x x)))
|
||||
(ifsafe 5
|
||||
`(lambda (x) (x) #t)
|
||||
`(lambda (x) (,primref x x (begin (x) x) x x))))
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (eqprim x x (begin (set! x 15) x) x x)))
|
||||
`(lambda (x) (,primref x x (begin (set! x 15) x) x x)))
|
||||
)))]))
|
||||
#t)
|
||||
(eqtest eq? #t)
|
||||
(eqtest eqv? #t)
|
||||
(eqtest equal? #t)
|
||||
(eqtest bytevector=?)
|
||||
(eqtest enum-set=?)
|
||||
(eqtest bound-identifier=?)
|
||||
(eqtest free-identifier=?)
|
||||
(eqtest ftype-pointer=?)
|
||||
(eqtest literal-identifier=?)
|
||||
(eqtest time=?)
|
||||
(eqtest boolean=?)
|
||||
(eqtest symbol=?)
|
||||
(eqtest char=?)
|
||||
(eqtest char-ci=?)
|
||||
(eqtest string=?)
|
||||
(eqtest string-ci=?)
|
||||
(eqtest r6rs:char=?)
|
||||
(eqtest r6rs:char-ci=?)
|
||||
(eqtest r6rs:string=?)
|
||||
(eqtest r6rs:string-ci=?)
|
||||
(eqtest fx=)
|
||||
(eqtest fx=?)
|
||||
(parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f])
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (fl= x x))) ; x could be +nan.0
|
||||
`(lambda (x) (($primitive ,(if (fx= (optimize-level) 3) 3 2) fl=) x x))))
|
||||
(parameterize ([enable-cp0 #t] [#%$suppress-primitive-inlining #f])
|
||||
(equivalent-expansion?
|
||||
(expand/optimize
|
||||
`(lambda (x) (= x x))) ; x could be +nan.0
|
||||
`(lambda (x) (($primitive ,(if (fx= (optimize-level) 3) 3 2) =) x x))))
|
||||
)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
*** errors-compile-0-f-f-f 2016-06-06 17:53:10.623331500 -0400
|
||||
--- errors-compile-0-f-f-t 2016-06-06 18:02:37.804196600 -0400
|
||||
*** errors-compile-0-f-f-f 2017-03-15 13:19:08.859800901 -0400
|
||||
--- errors-compile-0-f-f-t 2017-03-15 13:25:14.618006463 -0400
|
||||
***************
|
||||
*** 3565,3571 ****
|
||||
*** 3603,3609 ****
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
|
||||
|
@ -9,7 +9,7 @@
|
|||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
|
||||
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #<procedure find-next>".
|
||||
--- 3565,3571 ----
|
||||
--- 3603,3609 ----
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
|
||||
|
@ -18,7 +18,7 @@
|
|||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
|
||||
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #<procedure find-next>".
|
||||
***************
|
||||
*** 7040,7050 ****
|
||||
*** 7085,7095 ****
|
||||
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
|
||||
|
@ -30,7 +30,7 @@
|
|||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
--- 7040,7050 ----
|
||||
--- 7085,7095 ----
|
||||
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
|
||||
|
@ -43,7 +43,7 @@
|
|||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
***************
|
||||
*** 8406,8418 ****
|
||||
*** 8451,8463 ****
|
||||
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".
|
||||
|
@ -57,7 +57,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".
|
||||
--- 8406,8418 ----
|
||||
--- 8451,8463 ----
|
||||
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".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2017-03-15 00:21:57.000000000 -0400
|
||||
--- errors-compile-0-f-t-f 2017-03-14 23:53:20.000000000 -0400
|
||||
*** errors-compile-0-f-f-f 2017-03-15 13:19:08.859800901 -0400
|
||||
--- errors-compile-0-f-t-f 2017-03-15 13:34:41.791223868 -0400
|
||||
***************
|
||||
*** 125,131 ****
|
||||
3.mo:Expected error in mat dipa-letrec: "attempt to reference undefined variable a".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2017-03-15 00:21:57.000000000 -0400
|
||||
--- errors-compile-0-t-f-f 2017-03-14 23:59:50.000000000 -0400
|
||||
*** errors-compile-0-f-f-f 2017-03-15 13:19:08.859800901 -0400
|
||||
--- errors-compile-0-t-f-f 2017-03-15 13:31:20.355212128 -0400
|
||||
***************
|
||||
*** 93,99 ****
|
||||
3.mo:Expected error in mat case-lambda: "incorrect number of arguments to #<procedure foo>".
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400
|
||||
--- errors-compile-0-t-f-t 2016-06-06 17:56:30.227458200 -0400
|
||||
*** errors-compile-0-t-f-f 2017-03-15 13:31:20.355212128 -0400
|
||||
--- errors-compile-0-t-f-t 2017-03-15 13:21:31.790099674 -0400
|
||||
***************
|
||||
*** 3565,3571 ****
|
||||
*** 3603,3609 ****
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
|
||||
|
@ -9,7 +9,7 @@
|
|||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation oldgen".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
|
||||
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #<procedure find-next>".
|
||||
--- 3565,3571 ----
|
||||
--- 3603,3609 ----
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation -1".
|
||||
misc.mo:Expected error in mat compute-composition: "compute-composition: invalid generation "static"".
|
||||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: 17 is not a procedure".
|
||||
|
@ -18,7 +18,7 @@
|
|||
misc.mo:Expected error in mat make-object-finder: "make-object-finder: invalid generation -1".
|
||||
misc.mo:Expected error in mat make-object-finder: "incorrect number of arguments to #<procedure find-next>".
|
||||
***************
|
||||
*** 7040,7050 ****
|
||||
*** 7085,7095 ****
|
||||
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
|
||||
|
@ -30,7 +30,7 @@
|
|||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid space gnu".
|
||||
--- 7040,7050 ----
|
||||
--- 7085,7095 ----
|
||||
7.mo:Expected error in mat sstats: "set-sstats-gc-bytes!: twelve is not an exact integer".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation yuk".
|
||||
7.mo:Expected error in mat bytes-allocated: "bytes-allocated: invalid generation -1".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400
|
||||
--- errors-compile-0-t-t-f 2016-06-06 18:06:30.926483000 -0400
|
||||
*** errors-compile-0-t-f-f 2017-03-15 13:31:20.355212128 -0400
|
||||
--- errors-compile-0-t-t-f 2017-03-15 13:27:50.847239990 -0400
|
||||
***************
|
||||
*** 144,150 ****
|
||||
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable b".
|
||||
|
@ -18,7 +18,7 @@
|
|||
3.mo:Expected error in mat cpvalid: "attempt to reference undefined variable c".
|
||||
3.mo:Expected warning in mat cpvalid: "possible attempt to reference undefined variable x".
|
||||
***************
|
||||
*** 3607,3613 ****
|
||||
*** 3645,3651 ****
|
||||
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
|
||||
|
@ -26,7 +26,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 b".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable a".
|
||||
--- 3607,3613 ----
|
||||
--- 3645,3651 ----
|
||||
misc.mo:Expected error in mat cpletrec: "foreign-procedure: no entry for "foo"".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable q".
|
||||
misc.mo:Expected error in mat cpletrec: "attempt to reference undefined variable bar".
|
||||
|
@ -35,7 +35,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".
|
||||
***************
|
||||
*** 7050,7057 ****
|
||||
*** 7095,7102 ****
|
||||
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".
|
||||
|
@ -44,7 +44,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)".
|
||||
--- 7050,7057 ----
|
||||
--- 7095,7102 ----
|
||||
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".
|
||||
|
@ -54,7 +54,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)".
|
||||
***************
|
||||
*** 7059,7073 ****
|
||||
*** 7104,7118 ****
|
||||
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".
|
||||
|
@ -70,7 +70,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".
|
||||
--- 7059,7073 ----
|
||||
--- 7104,7118 ----
|
||||
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".
|
||||
|
@ -87,7 +87,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".
|
||||
***************
|
||||
*** 7080,7105 ****
|
||||
*** 7125,7150 ****
|
||||
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>".
|
||||
|
@ -114,7 +114,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".
|
||||
--- 7080,7105 ----
|
||||
--- 7125,7150 ----
|
||||
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>".
|
||||
|
@ -142,7 +142,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".
|
||||
***************
|
||||
*** 7221,7259 ****
|
||||
*** 7266,7304 ****
|
||||
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>".
|
||||
|
@ -182,7 +182,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".
|
||||
--- 7221,7259 ----
|
||||
--- 7266,7304 ----
|
||||
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>".
|
||||
|
@ -223,7 +223,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".
|
||||
***************
|
||||
*** 7279,7314 ****
|
||||
*** 7324,7359 ****
|
||||
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>".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point".
|
||||
|
@ -260,7 +260,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: #<ex3> is not a record".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: #<ex3> is not a record".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3".
|
||||
--- 7279,7314 ----
|
||||
--- 7324,7359 ----
|
||||
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>".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-f-f 2017-03-15 00:21:57.000000000 -0400
|
||||
--- errors-interpret-0-f-f-f 2017-03-15 00:06:40.000000000 -0400
|
||||
*** errors-compile-0-f-f-f 2017-03-15 13:19:08.859800901 -0400
|
||||
--- errors-interpret-0-f-f-f 2017-03-15 13:37:17.060462746 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-f-t-f 2017-03-14 23:53:20.000000000 -0400
|
||||
--- errors-interpret-0-f-t-f 2017-03-15 00:13:47.000000000 -0400
|
||||
*** errors-compile-0-f-t-f 2017-03-15 13:34:41.791223868 -0400
|
||||
--- errors-interpret-0-f-t-f 2017-03-15 13:39:51.605705652 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-0-t-f-f 2016-06-06 18:12:13.534516500 -0400
|
||||
--- errors-interpret-0-t-f-f 2016-06-06 19:24:55.494488400 -0400
|
||||
*** errors-compile-0-t-f-f 2017-03-15 13:31:20.355212128 -0400
|
||||
--- errors-interpret-0-t-f-f 2017-03-15 14:09:36.249053122 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
@ -169,7 +169,7 @@
|
|||
3.mo:Expected error in mat letrec: "variable f is not bound".
|
||||
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
|
||||
***************
|
||||
*** 3959,3974 ****
|
||||
*** 4004,4019 ****
|
||||
6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #<procedure pretty-format>".
|
||||
6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol".
|
||||
6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)".
|
||||
|
@ -186,9 +186,9 @@
|
|||
6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss".
|
||||
6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss".
|
||||
6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)".
|
||||
--- 3965,3974 ----
|
||||
--- 4010,4019 ----
|
||||
***************
|
||||
*** 6914,6920 ****
|
||||
*** 6959,6965 ****
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
|
||||
|
@ -196,7 +196,7 @@
|
|||
7.mo:Expected error in mat eval: "interpret: 7 is not an environment".
|
||||
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".
|
||||
--- 6914,6920 ----
|
||||
--- 6959,6965 ----
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
|
||||
|
@ -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".
|
||||
***************
|
||||
*** 7232,7238 ****
|
||||
*** 7277,7283 ****
|
||||
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".
|
||||
|
@ -213,7 +213,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".
|
||||
--- 7232,7238 ----
|
||||
--- 7277,7283 ----
|
||||
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".
|
||||
|
@ -222,7 +222,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".
|
||||
***************
|
||||
*** 9168,9192 ****
|
||||
*** 9213,9237 ****
|
||||
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".
|
||||
|
@ -248,7 +248,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".
|
||||
--- 9168,9192 ----
|
||||
--- 9213,9237 ----
|
||||
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".
|
||||
|
@ -275,7 +275,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".
|
||||
***************
|
||||
*** 9199,9230 ****
|
||||
*** 9244,9275 ****
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #<procedure foreign-sizeof>".
|
||||
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".
|
||||
|
@ -308,7 +308,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>".
|
||||
--- 9199,9230 ----
|
||||
--- 9244,9275 ----
|
||||
foreign.mo:Expected error in mat foreign-sizeof: "incorrect number of arguments to #<procedure foreign-sizeof>".
|
||||
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".
|
||||
|
@ -342,7 +342,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>".
|
||||
***************
|
||||
*** 9232,9257 ****
|
||||
*** 9277,9302 ****
|
||||
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>".
|
||||
|
@ -369,7 +369,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>".
|
||||
--- 9232,9257 ----
|
||||
--- 9277,9302 ----
|
||||
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>".
|
||||
|
@ -397,7 +397,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>".
|
||||
***************
|
||||
*** 9262,9296 ****
|
||||
*** 9307,9341 ****
|
||||
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>".
|
||||
|
@ -433,7 +433,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>".
|
||||
--- 9262,9296 ----
|
||||
--- 9307,9341 ----
|
||||
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>".
|
||||
|
@ -470,7 +470,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>".
|
||||
***************
|
||||
*** 9876,9885 ****
|
||||
*** 9921,9930 ****
|
||||
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 ...)))".
|
||||
|
@ -481,7 +481,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".
|
||||
--- 9876,9885 ----
|
||||
--- 9921,9930 ----
|
||||
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-t-t-f 2016-06-06 18:06:30.926483000 -0400
|
||||
--- errors-interpret-0-t-t-f 2016-06-06 19:30:54.817658600 -0400
|
||||
*** errors-compile-0-t-t-f 2017-03-15 13:27:50.847239990 -0400
|
||||
--- errors-interpret-0-t-t-f 2017-03-15 14:13:06.129081411 -0400
|
||||
***************
|
||||
*** 1,7 ****
|
||||
primvars.mo:Expected error in mat make-parameter: "make-parameter: 2 is not a procedure".
|
||||
|
@ -169,7 +169,7 @@
|
|||
3.mo:Expected error in mat letrec: "variable f is not bound".
|
||||
3.mo:Expected error in mat letrec: "attempt to reference undefined variable a".
|
||||
***************
|
||||
*** 3959,3974 ****
|
||||
*** 4004,4019 ****
|
||||
6.mo:Expected error in mat pretty-print: "incorrect number of arguments to #<procedure pretty-format>".
|
||||
6.mo:Expected error in mat pretty-print: "pretty-format: 3 is not a symbol".
|
||||
6.mo:Expected error in mat pretty-print: "pretty-format: invalid format (bad 0 ... ... 0 format)".
|
||||
|
@ -186,9 +186,9 @@
|
|||
6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too few arguments for control string "abc~s" in call to fprintf at line 1, char 29 of testfile.ss".
|
||||
6.mo:Expected warning in mat cp1in-verify-format-warnings: "compile: too many arguments for control string "~%~abc~adef~ag~s~~~%" in call to fprintf at line 1, char 29 of testfile.ss".
|
||||
6.mo:Expected error in mat print-parameters: "write: cycle detected; proceeding with (print-graph #t)".
|
||||
--- 3965,3974 ----
|
||||
--- 4010,4019 ----
|
||||
***************
|
||||
*** 6914,6920 ****
|
||||
*** 6959,6965 ****
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
|
||||
|
@ -196,7 +196,7 @@
|
|||
7.mo:Expected error in mat eval: "interpret: 7 is not an environment".
|
||||
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".
|
||||
--- 6914,6920 ----
|
||||
--- 6959,6965 ----
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in include: failed for testfile-mc-1a.ss: no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: failed for "testfile-mc-1a.ss": no such file or directory
|
||||
7.mo:Expected error in mat maybe-compile: "separate-compile: Exception in maybe-compile-library: file "testfile-mc-1a.ss" not found in source directories
|
||||
|
@ -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".
|
||||
***************
|
||||
*** 7050,7057 ****
|
||||
*** 7095,7102 ****
|
||||
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)".
|
||||
--- 7050,7057 ----
|
||||
--- 7095,7102 ----
|
||||
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)".
|
||||
***************
|
||||
*** 7059,7073 ****
|
||||
*** 7104,7118 ****
|
||||
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".
|
||||
--- 7059,7073 ----
|
||||
--- 7104,7118 ----
|
||||
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".
|
||||
***************
|
||||
*** 7080,7105 ****
|
||||
*** 7125,7150 ****
|
||||
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".
|
||||
--- 7080,7105 ----
|
||||
--- 7125,7150 ----
|
||||
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".
|
||||
***************
|
||||
*** 7221,7259 ****
|
||||
*** 7266,7304 ****
|
||||
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".
|
||||
--- 7221,7259 ----
|
||||
--- 7266,7304 ----
|
||||
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".
|
||||
***************
|
||||
*** 7279,7314 ****
|
||||
*** 7324,7359 ****
|
||||
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>".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point".
|
||||
|
@ -430,7 +430,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: #<ex3> is not a record".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: #<ex3> is not a record".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3".
|
||||
--- 7279,7314 ----
|
||||
--- 7324,7359 ----
|
||||
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>".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "invalid syntax point".
|
||||
|
@ -468,7 +468,7 @@
|
|||
record.mo:Expected error in mat r6rs-records-syntactic: "record-rtd: #<ex3> is not a record".
|
||||
record.mo:Expected error in mat r6rs-records-syntactic: "parent record type is sealed ex3".
|
||||
***************
|
||||
*** 9876,9885 ****
|
||||
*** 9921,9930 ****
|
||||
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 ...)))".
|
||||
|
@ -479,7 +479,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".
|
||||
--- 9876,9885 ----
|
||||
--- 9921,9930 ----
|
||||
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-3-f-f-f 2017-03-14 23:50:07.000000000 -0400
|
||||
--- errors-interpret-3-f-f-f 2017-03-15 00:26:52.000000000 -0400
|
||||
*** errors-compile-3-f-f-f 2017-03-15 14:40:40.405994677 -0400
|
||||
--- errors-interpret-3-f-f-f 2017-03-15 14:58:08.035311732 -0400
|
||||
***************
|
||||
*** 1,3 ****
|
||||
--- 1,9 ----
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-3-f-t-f 2017-03-14 23:56:31.000000000 -0400
|
||||
--- errors-interpret-3-f-t-f 2017-03-15 00:17:15.000000000 -0400
|
||||
*** errors-compile-3-f-t-f 2017-03-15 14:55:31.783838227 -0400
|
||||
--- errors-interpret-3-f-t-f 2017-03-15 15:00:39.238802247 -0400
|
||||
***************
|
||||
*** 1,3 ****
|
||||
--- 1,9 ----
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-3-t-f-f 2016-06-06 20:40:53.944458100 -0400
|
||||
--- errors-interpret-3-t-f-f 2016-06-06 21:50:19.270923200 -0400
|
||||
*** errors-compile-3-t-f-f 2017-03-15 14:52:21.788478423 -0400
|
||||
--- errors-interpret-3-t-f-f 2017-03-15 15:29:24.979528265 -0400
|
||||
***************
|
||||
*** 1,3 ****
|
||||
--- 1,9 ----
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
*** errors-compile-3-t-t-f 2016-06-06 20:35:36.101034000 -0400
|
||||
--- errors-interpret-3-t-t-f 2016-06-06 21:55:56.687725100 -0400
|
||||
*** errors-compile-3-t-t-f 2017-03-15 14:49:04.970141609 -0400
|
||||
--- errors-interpret-3-t-t-f 2017-03-15 15:32:47.443984424 -0400
|
||||
***************
|
||||
*** 1,3 ****
|
||||
--- 1,9 ----
|
||||
|
|
|
@ -58,6 +58,16 @@ Online versions of both books can be found at
|
|||
%-----------------------------------------------------------------------------
|
||||
\section{Functionality Changes}\label{section:functionality}
|
||||
|
||||
\subsection{Immutable vectors, fxvectors, bytevectors, strings, and boxes (9.4.1)}
|
||||
|
||||
Support for immutable vectors, fxvectors, bytevectors, strings, and boxes
|
||||
has been added.
|
||||
Immutable vectors are created via \scheme{vector->immutable-vector},
|
||||
and immutable fxvectors, bytevectors, and strings are created by similarly named
|
||||
procedures.
|
||||
Immutable boxes are created via \scheme{box-immutable}.
|
||||
Any attempt to modify an immutable object causes an exception to be raised.
|
||||
|
||||
\subsection{Optional timeout for \protect\scheme{condition-wait} (9.4.1)}
|
||||
|
||||
The \scheme{condition-wait} procedure now takes an optional
|
||||
|
|
104
s/cp0.ss
104
s/cp0.ss
|
@ -1876,6 +1876,25 @@
|
|||
xval]
|
||||
[else #f])))))
|
||||
|
||||
; could handle inequalies as well (returning #f), but that seems less likely to crop up
|
||||
(define handle-equality
|
||||
(lambda (ctxt arg arg*)
|
||||
(and
|
||||
(or (null? arg*)
|
||||
(nanopass-case (Lsrc Expr) (result-exp (value-visit-operand! arg))
|
||||
[(ref ,maybe-src ,x0)
|
||||
(and (not (prelex-was-assigned x0))
|
||||
(andmap
|
||||
(lambda (arg)
|
||||
(and (nanopass-case (Lsrc Expr) (result-exp (value-visit-operand! arg))
|
||||
[(ref ,maybe-src ,x) (eq? x x0)]
|
||||
[else #f])))
|
||||
arg*))]
|
||||
[else #f]))
|
||||
(begin
|
||||
(residualize-seq '() (cons arg arg*) ctxt)
|
||||
true-rec))))
|
||||
|
||||
(define-inline 2 machine-type
|
||||
[() (begin
|
||||
(residualize-seq '() '() ctxt)
|
||||
|
@ -2128,19 +2147,16 @@
|
|||
[args #f])
|
||||
|
||||
(define-inline 2 (eq? eqv? equal?)
|
||||
[(x y)
|
||||
(let ([xval (value-visit-operand! x)]
|
||||
[yval (value-visit-operand! y)])
|
||||
(and (nanopass-case (Lsrc Expr) (result-exp xval)
|
||||
[(ref ,maybe-src0 ,x0)
|
||||
(and (not (prelex-was-assigned x0))
|
||||
(nanopass-case (Lsrc Expr) (result-exp yval)
|
||||
[(ref ,maybe-src1 ,x1) (eq? x0 x1)]
|
||||
[else #f]))]
|
||||
[else #f])
|
||||
(begin
|
||||
(residualize-seq '() (list x y) ctxt)
|
||||
true-rec)))])
|
||||
[(arg1 arg2) (handle-equality ctxt arg1 (list arg2))])
|
||||
|
||||
(define-inline 3 (bytevector=? enum-set=? bound-identifier=? free-identifier=? ftype-pointer=? literal-identifier=? time=?)
|
||||
[(arg1 arg2) (handle-equality ctxt arg1 (list arg2))])
|
||||
|
||||
(define-inline 3 (char=? char-ci=? string=? string-ci=?)
|
||||
[(arg . arg*) (handle-equality ctxt arg arg*)])
|
||||
|
||||
(define-inline 3 (boolean=? symbol=? r6rs:char=? r6rs:char-ci=? r6rs:string=? r6rs:string-ci=?)
|
||||
[(arg1 arg2 . arg*) (handle-equality ctxt arg1 (cons arg2 arg*))])
|
||||
|
||||
(define-inline 3 (ash
|
||||
bitwise-arithmetic-shift bitwise-arithmetic-shift-left
|
||||
|
@ -2343,41 +2359,37 @@
|
|||
|
||||
(let ()
|
||||
(define $fold
|
||||
(case-lambda
|
||||
[(generic-op orig-opnd* pred* opred ctxt) ($fold generic-op orig-opnd* pred* opred ctxt #f)]
|
||||
[(generic-op orig-opnd* pred* opred ctxt maybe-sc-handler)
|
||||
(define cookie '(fig . newton))
|
||||
(and (okay-to-handle?)
|
||||
(or (let loop ([opnd* orig-opnd*] [pred* pred*] [rval* '()])
|
||||
(if (null? opnd*)
|
||||
(let ([val (guard (c [#t cookie]) (apply generic-op (reverse rval*)))])
|
||||
(and (not (eq? val cookie))
|
||||
(opred val)
|
||||
(begin
|
||||
(residualize-seq '() orig-opnd* ctxt)
|
||||
`(quote ,val))))
|
||||
(let-values ([(pred pred*) (if (procedure? pred*) (values pred* pred*) (values (car pred*) (cdr pred*)))])
|
||||
(visit-and-maybe-extract* pred ([val (car opnd*)])
|
||||
(loop (cdr opnd*) pred* (cons val rval*))))))
|
||||
(and maybe-sc-handler (maybe-sc-handler))))]))
|
||||
(lambda (generic-op orig-opnd* pred* opred level ctxt handler)
|
||||
(define cookie '(fig . newton))
|
||||
(and (okay-to-handle?)
|
||||
(or (let loop ([opnd* orig-opnd*] [pred* pred*] [rval* '()])
|
||||
(if (null? opnd*)
|
||||
(let ([val (guard (c [#t cookie]) (apply generic-op (reverse rval*)))])
|
||||
(and (not (eq? val cookie))
|
||||
(opred val)
|
||||
(begin
|
||||
(residualize-seq '() orig-opnd* ctxt)
|
||||
`(quote ,val))))
|
||||
(let-values ([(pred pred*) (if (procedure? pred*) (values pred* pred*) (values (car pred*) (cdr pred*)))])
|
||||
(visit-and-maybe-extract* pred ([val (car opnd*)])
|
||||
(loop (cdr opnd*) pred* (cons val rval*))))))
|
||||
(apply handler level ctxt orig-opnd*)))))
|
||||
(define null-handler (lambda args #f))
|
||||
(define-syntax fold
|
||||
(lambda (x)
|
||||
(syntax-case x ()
|
||||
[(_ (prim ipred ...) opred generic-op)
|
||||
(with-syntax ([(arg ...) (generate-temporaries #'(ipred ...))])
|
||||
#'(define-inline 2 prim
|
||||
[(arg ...) ($fold generic-op (list arg ...) (list ipred ...) opred ctxt)]))]
|
||||
[(_ (prim ipred ... . rpred) opred generic-op)
|
||||
(with-syntax ([(arg ...) (generate-temporaries #'(ipred ...))])
|
||||
#'(define-inline 2 prim
|
||||
[(arg ... . rest) ($fold generic-op (cons* arg ... rest) (cons* ipred ... rpred) opred ctxt)]))]
|
||||
[(_ (prim ipred ...) opred generic-op ?special-case-handler)
|
||||
[(_ (prim ipred ...) opred generic-op) #'(fold (prim ipred ...) opred generic-op null-handler)]
|
||||
[(_ (prim ipred ...) opred generic-op handler)
|
||||
(with-syntax ([(arg ...) (generate-temporaries #'(ipred ...))])
|
||||
#'(define-inline 2 prim
|
||||
[(arg ...)
|
||||
(let ([special-case-handler ?special-case-handler])
|
||||
($fold generic-op (list arg ...) (list ipred ...) opred ctxt
|
||||
(lambda () (special-case-handler level ctxt arg ...))))]))])))
|
||||
($fold generic-op (list arg ...) (list ipred ...) opred level ctxt handler)]))]
|
||||
[(_ (prim ipred ... . rpred) opred generic-op) #'(fold (prim ipred ... . rpred) opred generic-op null-handler)]
|
||||
[(_ (prim ipred ... . rpred) opred generic-op handler)
|
||||
(with-syntax ([(arg ...) (generate-temporaries #'(ipred ...))])
|
||||
#'(define-inline 2 prim
|
||||
[(arg ... . rest)
|
||||
($fold generic-op (cons* arg ... rest) (cons* ipred ... rpred) opred level ctxt handler)]))])))
|
||||
|
||||
(define tfixnum? target-fixnum?)
|
||||
(define u<=fxwidth?
|
||||
|
@ -2399,12 +2411,16 @@
|
|||
|
||||
(fold (fx< tfixnum? . tfixnum?) boolean? #2%<)
|
||||
(fold (fx<= tfixnum? . tfixnum?) boolean? #2%<=)
|
||||
(fold (fx= tfixnum? . tfixnum?) boolean? #2%=)
|
||||
(fold (fx= tfixnum? . tfixnum?) boolean? #2%=
|
||||
(lambda (level ctxt arg . arg*)
|
||||
(and (fx= level 3) (handle-equality ctxt arg arg*))))
|
||||
(fold (fx> tfixnum? . tfixnum?) boolean? #2%>)
|
||||
(fold (fx>= tfixnum? . tfixnum?) boolean? #2%>=)
|
||||
(fold (fx<? tfixnum? tfixnum? . tfixnum?) boolean? #2%<)
|
||||
(fold (fx<=? tfixnum? tfixnum? . tfixnum?) boolean? #2%<=)
|
||||
(fold (fx=? tfixnum? tfixnum? . tfixnum?) boolean? #2%=)
|
||||
(fold (fx=? tfixnum? tfixnum? . tfixnum?) boolean? #2%=
|
||||
(lambda (level ctxt arg . arg*)
|
||||
(and (fx= level 3) (handle-equality ctxt arg arg*))))
|
||||
(fold (fx>? tfixnum? tfixnum? . tfixnum?) boolean? #2%>)
|
||||
(fold (fx>=? tfixnum? tfixnum? . tfixnum?) boolean? #2%>=)
|
||||
(fold ($fxu< tfixnum? tfixnum?) boolean?
|
||||
|
|
|
@ -12038,56 +12038,60 @@
|
|||
(jump ,%ref-ret (,%ac0))))]
|
||||
[(bytevector=?)
|
||||
(let ([bv1 (make-tmp 'bv1)] [bv2 (make-tmp 'bv2)] [idx (make-tmp 'idx)] [len2 (make-tmp 'len2)])
|
||||
(let ([Ltop (make-local-label 'Ltop)] [Lfail (make-local-label 'Lfail)])
|
||||
(let ([Ltop (make-local-label 'Ltop)] [Ltrue (make-local-label 'Ltrue)] [Lfail (make-local-label 'Lfail)])
|
||||
(define iptr-bytes (in-context Triv (%constant ptr-bytes)))
|
||||
`(lambda ,(make-info "bytevector=?" '(2)) 0 (,bv1 ,bv2 ,idx ,len2)
|
||||
,(%seq
|
||||
(set! ,bv1 ,(make-arg-opnd 1))
|
||||
(set! ,bv2 ,(make-arg-opnd 2))
|
||||
(set! ,idx ,(%inline srl
|
||||
,(%mref ,bv1 ,(constant bytevector-type-disp))
|
||||
,(%constant bytevector-length-offset)))
|
||||
(set! ,len2 ,(%inline srl
|
||||
,(%mref ,bv2 ,(constant bytevector-type-disp))
|
||||
,(%constant bytevector-length-offset)))
|
||||
(if ,(%inline eq? ,len2 ,idx)
|
||||
(if ,(%inline eq? ,bv1 ,bv2)
|
||||
(goto ,Ltrue)
|
||||
,(%seq
|
||||
(label ,Ltop)
|
||||
(if ,(%inline >= ,idx ,iptr-bytes)
|
||||
(if ,(%inline eq?
|
||||
,(%mref ,bv1 ,(constant bytevector-data-disp))
|
||||
,(%mref ,bv2 ,(constant bytevector-data-disp)))
|
||||
,(%seq
|
||||
(set! ,idx ,(%inline - ,idx ,iptr-bytes))
|
||||
(set! ,bv1 ,(%inline + ,bv1 ,iptr-bytes))
|
||||
(set! ,bv2 ,(%inline + ,bv2 ,iptr-bytes))
|
||||
(goto ,Ltop))
|
||||
(goto ,Lfail))
|
||||
(if (if ,(%inline eq? ,idx (immediate 0))
|
||||
(true)
|
||||
,(%seq
|
||||
(set! ,bv1 ,(%mref ,bv1 ,(constant bytevector-data-disp)))
|
||||
(set! ,bv2 ,(%mref ,bv2 ,(constant bytevector-data-disp)))
|
||||
(set! ,idx ,(%inline - ,iptr-bytes ,idx))
|
||||
(set! ,idx ,(%inline sll ,idx (immediate 3)))
|
||||
,(constant-case native-endianness
|
||||
[(little)
|
||||
(%seq
|
||||
(set! ,bv1 ,(%inline sll ,bv1 ,idx))
|
||||
(set! ,bv2 ,(%inline sll ,bv2 ,idx)))]
|
||||
[(big)
|
||||
(%seq
|
||||
(set! ,bv1 ,(%inline srl ,bv1 ,idx))
|
||||
(set! ,bv2 ,(%inline srl ,bv2 ,idx)))])
|
||||
,(%inline eq? ,bv1 ,bv2)))
|
||||
,(%seq
|
||||
(set! ,%ac0 ,(%constant strue))
|
||||
(jump ,%ref-ret (,%ac0)))
|
||||
(goto ,Lfail))))
|
||||
,(%seq
|
||||
(label ,Lfail)
|
||||
(set! ,%ac0 ,(%constant sfalse))
|
||||
(jump ,%ref-ret (,%ac0))))))))]
|
||||
(set! ,idx ,(%inline srl
|
||||
,(%mref ,bv1 ,(constant bytevector-type-disp))
|
||||
,(%constant bytevector-length-offset)))
|
||||
(set! ,len2 ,(%inline srl
|
||||
,(%mref ,bv2 ,(constant bytevector-type-disp))
|
||||
,(%constant bytevector-length-offset)))
|
||||
(if ,(%inline eq? ,len2 ,idx)
|
||||
,(%seq
|
||||
(label ,Ltop)
|
||||
(if ,(%inline >= ,idx ,iptr-bytes)
|
||||
(if ,(%inline eq?
|
||||
,(%mref ,bv1 ,(constant bytevector-data-disp))
|
||||
,(%mref ,bv2 ,(constant bytevector-data-disp)))
|
||||
,(%seq
|
||||
(set! ,idx ,(%inline - ,idx ,iptr-bytes))
|
||||
(set! ,bv1 ,(%inline + ,bv1 ,iptr-bytes))
|
||||
(set! ,bv2 ,(%inline + ,bv2 ,iptr-bytes))
|
||||
(goto ,Ltop))
|
||||
(goto ,Lfail))
|
||||
(if (if ,(%inline eq? ,idx (immediate 0))
|
||||
(true)
|
||||
,(%seq
|
||||
(set! ,bv1 ,(%mref ,bv1 ,(constant bytevector-data-disp)))
|
||||
(set! ,bv2 ,(%mref ,bv2 ,(constant bytevector-data-disp)))
|
||||
(set! ,idx ,(%inline - ,iptr-bytes ,idx))
|
||||
(set! ,idx ,(%inline sll ,idx (immediate 3)))
|
||||
,(constant-case native-endianness
|
||||
[(little)
|
||||
(%seq
|
||||
(set! ,bv1 ,(%inline sll ,bv1 ,idx))
|
||||
(set! ,bv2 ,(%inline sll ,bv2 ,idx)))]
|
||||
[(big)
|
||||
(%seq
|
||||
(set! ,bv1 ,(%inline srl ,bv1 ,idx))
|
||||
(set! ,bv2 ,(%inline srl ,bv2 ,idx)))])
|
||||
,(%inline eq? ,bv1 ,bv2)))
|
||||
,(%seq
|
||||
(label ,Ltrue)
|
||||
(set! ,%ac0 ,(%constant strue))
|
||||
(jump ,%ref-ret (,%ac0)))
|
||||
(goto ,Lfail))))
|
||||
,(%seq
|
||||
(label ,Lfail)
|
||||
(set! ,%ac0 ,(%constant sfalse))
|
||||
(jump ,%ref-ret (,%ac0))))))))))]
|
||||
[(dofargint32) (make-dofargint "dofargint32" 32 (intrinsic-entry-live* dofargint32) (intrinsic-return-live* dofargint32))]
|
||||
[(dofargint64) (make-dofargint "dofargint64" 64 (intrinsic-entry-live* dofargint64) (intrinsic-return-live* dofargint64))]
|
||||
[(dofretint32) (make-dofretint "doretint32" 32 (intrinsic-entry-live* dofretint32) (intrinsic-return-live* dofretint32))]
|
||||
|
|
|
@ -252,7 +252,7 @@
|
|||
((r6rs: string->number) [sig [(string) (string sub-ufixnum) -> (maybe-number)]] [flags discard ieee r5rs]) ; radix restricted to 2, 4, 8, 16
|
||||
(not [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs cp02])
|
||||
(boolean? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs])
|
||||
(boolean=? [sig [(boolean boolean boolean ...) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(boolean=? [sig [(boolean boolean boolean ...) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(pair? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs])
|
||||
(cons [sig [(ptr ptr) -> (#1=(ptr . ptr))]] [flags unrestricted alloc ieee r5rs])
|
||||
; c..r non-alphabetic so marks come before references
|
||||
|
@ -298,14 +298,14 @@
|
|||
(for-each [sig [(procedure list list ...) -> (ptr ...)]] [flags cp03 ieee r5rs])
|
||||
(symbol? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs])
|
||||
(symbol->string [sig [(symbol) -> (string)]] [flags true mifoldable discard ieee r5rs])
|
||||
(symbol=? [sig [(symbol symbol symbol ...) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(symbol=? [sig [(symbol symbol symbol ...) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(string->symbol [sig [(string) -> (symbol)]] [flags true mifoldable discard ieee r5rs])
|
||||
(char? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs])
|
||||
(char->integer [sig [(char) -> (fixnum)]] [flags pure mifoldable discard true ieee r5rs])
|
||||
(integer->char [sig [(sub-ufixnum) -> (char)]] [flags pure mifoldable discard true ieee r5rs])
|
||||
((r6rs: char<=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char<?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs cp03]) ; restricted to 2+ arguments
|
||||
((r6rs: char>=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char>?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
(string? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard ieee r5rs])
|
||||
|
@ -315,7 +315,7 @@
|
|||
(string-ref [sig [(string sub-index) -> (ptr)]] [flags true ieee r5rs mifoldable discard cp02])
|
||||
((r6rs: string<=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string<?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs cp03]) ; restricted to 2+ arguments
|
||||
((r6rs: string>=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string>?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
(substring [sig [(string sub-length sub-length) -> (string)]] [flags alloc ieee r5rs])
|
||||
|
@ -354,7 +354,7 @@
|
|||
(bytevector? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard])
|
||||
(make-bytevector [sig [(length) (length u8/s8) -> (bytevector)]] [flags alloc])
|
||||
(bytevector-length [sig [(bytevector) -> (length)]] [flags true mifoldable discard])
|
||||
(bytevector=? [sig [(bytevector bytevector) -> (boolean)]] [flags mifoldable discard])
|
||||
(bytevector=? [sig [(bytevector bytevector) -> (boolean)]] [flags mifoldable discard cp03])
|
||||
(bytevector-fill! [sig [(bytevector u8/s8) -> (void)]] [flags true])
|
||||
(bytevector-copy! [sig [(bytevector sub-length bytevector sub-length sub-length) -> (void)]] [flags true])
|
||||
(bytevector-copy [sig [(bytevector) -> (bytevector)]] [flags alloc])
|
||||
|
@ -431,7 +431,7 @@
|
|||
(enum-set->list [sig [(enum-set) -> (list)]] [flags pure mifoldable discard alloc])
|
||||
(enum-set-member? [sig [(symbol enum-set) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(enum-set-subset? [sig [(enum-set enum-set) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(enum-set=? [sig [(enum-set enum-set) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(enum-set=? [sig [(enum-set enum-set) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(enum-set-union [sig [(enum-set enum-set) -> (enum-set)]] [flags pure alloc])
|
||||
(enum-set-intersection [sig [(enum-set enum-set) -> (enum-set)]] [flags pure alloc])
|
||||
(enum-set-difference [sig [(enum-set enum-set) -> (enum-set)]] [flags pure alloc])
|
||||
|
@ -795,8 +795,8 @@
|
|||
(define-symbol-flags* ([libraries (rnrs) (rnrs syntax-case)] [flags primitive proc])
|
||||
(make-variable-transformer [sig [(procedure) -> (ptr)]] [flags pure mifoldable discard])
|
||||
(identifier? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard])
|
||||
(bound-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(free-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(bound-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(free-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(syntax->datum [sig [(ptr) -> (ptr)]] [flags pure unrestricted mifoldable discard])
|
||||
(datum->syntax [sig [(identifier ptr) -> (ptr)]] [flags pure mifoldable discard])
|
||||
(generate-temporaries [sig [(list) -> (list)]] [flags alloc])
|
||||
|
@ -810,7 +810,7 @@
|
|||
(char-foldcase [sig [(char) -> (char)]] [flags pure mifoldable discard])
|
||||
((r6rs: char-ci<=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char-ci<?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char-ci=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char-ci=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs cp03]) ; restricted to 2+ arguments
|
||||
((r6rs: char-ci>=?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: char-ci>?) [sig [(char char char ...) -> (boolean)]] [flags pure mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
(char-alphabetic? [sig [(char) -> (boolean)]] [flags pure mifoldable discard ieee r5rs])
|
||||
|
@ -826,7 +826,7 @@
|
|||
(string-foldcase [sig [(string) -> (string)]] [flags mifoldable discard])
|
||||
((r6rs: string-ci<=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string-ci<?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string-ci=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string-ci=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs cp03]) ; restricted to 2+ arguments
|
||||
((r6rs: string-ci>=?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
((r6rs: string-ci>?) [sig [(string string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; restricted to 2+ arguments
|
||||
(string-normalize-nfd [sig [(string) -> (string)]] [flags mifoldable discard])
|
||||
|
@ -874,7 +874,7 @@
|
|||
(subtract-duration (sig [(time time) -> (time)]) [flags alloc])
|
||||
(subtract-duration! (sig [(time time) -> (time)]) [flags alloc])
|
||||
(time? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard])
|
||||
(time=? [sig [(time time) -> (boolean)]] [flags mifoldable discard])
|
||||
(time=? [sig [(time time) -> (boolean)]] [flags mifoldable discard cp03])
|
||||
(time<? [sig [(time time) -> (boolean)]] [flags mifoldable discard])
|
||||
(time<=? [sig [(time time) -> (boolean)]] [flags mifoldable discard])
|
||||
(time>=? [sig [(time time) -> (boolean)]] [flags mifoldable discard])
|
||||
|
@ -1171,13 +1171,13 @@
|
|||
(cflonum? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard])
|
||||
(char<=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char<? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard cp03]) ; not restricted to 2+ arguments
|
||||
(char>=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char>? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char- [sig [(char char) -> (fixnum)]] [flags pure mifoldable discard true])
|
||||
(char-ci<=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char-ci<? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char-ci=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char-ci=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard cp03]) ; not restricted to 2+ arguments
|
||||
(char-ci>=? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char-ci>? [sig [(char char ...) -> (boolean)]] [flags pure mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(char-name [sig [(sub-ptr) (sub-symbol maybe-char) -> (ptr)]] [flags])
|
||||
|
@ -1295,7 +1295,7 @@
|
|||
(format-condition? [sig [(ptr) -> (boolean)]] [flags pure unrestricted mifoldable discard])
|
||||
(fprintf [sig [(textual-output-port string sub-ptr ...) -> (void)]] [flags true])
|
||||
(fresh-line [sig [() (textual-output-port) -> (void)]] [flags true])
|
||||
(ftype-pointer=? [sig [(ftype-pointer ftype-pointer) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(ftype-pointer=? [sig [(ftype-pointer ftype-pointer) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(ftype-pointer-address [sig [(ftype-pointer) -> (exact-integer)]] [flags mifoldable discard true])
|
||||
(ftype-pointer-ftype [sig [(ftype-pointer) -> (ptr)]] [flags mifoldable discard true])
|
||||
(ftype-pointer-null? [sig [(ftype-pointer) -> (boolean)]] [flags pure mifoldable discard])
|
||||
|
@ -1378,7 +1378,7 @@
|
|||
(list->fxvector [sig [(sub-list) -> (fxvector)]] [flags alloc])
|
||||
(list-copy [sig [(list) -> (list)]] [flags alloc])
|
||||
(list-head [sig [(sub-ptr sub-index) -> (ptr)]] [flags alloc])
|
||||
(literal-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard])
|
||||
(literal-identifier=? [sig [(identifier identifier) -> (boolean)]] [flags pure mifoldable discard cp03])
|
||||
(load [sig [(pathname) (pathname procedure) -> (void)]] [flags true ieee r5rs])
|
||||
(load-library [sig [(pathname) (pathname procedure) -> (void)]] [flags true])
|
||||
(profile-load-data [sig [(pathname) -> (void)]] [flags true])
|
||||
|
@ -1598,12 +1598,12 @@
|
|||
(string->number [sig [(string) (string sub-ufixnum) -> (maybe-number)]] [flags discard]) ; radix not restricted to 2, 4, 8, 16
|
||||
(string<=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(string<? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(string=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(string=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard cp03]) ; not restricted to 2+ arguments
|
||||
(string>=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(string>? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard]) ; not restricted to 2+ arguments
|
||||
(string-ci<=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; not restricted to 2+ arguments
|
||||
(string-ci<? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; not restricted to 2+ arguments
|
||||
(string-ci=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; not restricted to 2+ arguments
|
||||
(string-ci=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs cp03]) ; not restricted to 2+ arguments
|
||||
(string-ci>=? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; not restricted to 2+ arguments
|
||||
(string-ci>? [sig [(string string ...) -> (boolean)]] [flags mifoldable discard ieee r5rs]) ; not restricted to 2+ arguments
|
||||
(string-copy! [sig [(string sub-length string sub-length sub-length) -> (void)]] [flags true])
|
||||
|
|
Loading…
Reference in New Issue
Block a user