the expected evaluation order in one of the mats; removed the
corresponding equivalent-expansion tests.
cp0.ss,
4.ms
rebuild boot files
original commit: 63c6ae5c2d4354a984bfc210f061c2c2123f0439
extend the reductions for map and for-each when the arguments are
explicit lists like (list 1 2 3 ...) or '(1 2 3 ...).
cp0.ss 4.ms
original commit: 4522ccdabd461370ad2d3fa91a92be0e6798d4d8
To drop the expression, check that procedure has the correct
arity and is discardable or unsafe.
Also add a simplification for for-each with empty lists
with optimization level 2.
cp0.ss, 4.ms, primdata.ss
original commit: 7ad035a3bd63675a1b40106c841669e04e3299f2
bytevector-immutable-flag in computation of type-immutable-bytevector
cmacros.ss
- reallocated typed-object types, using previously unused tag #b010
for strings and giving bytevectors both #b001 and #b101 (the
latter for immutable bytevectors) so that the maximum bytevector
length on 32-bit machines is once again the most-positive fixnum.
treating bytevectors rather than strings or fxvectors (or even
vectors) special in this regard is appropriate since the maximum
number of bytes in a bytevector is maximum-length x 1 rather than
maximum-length x 4 for strings, fxvectors, and vectors on 32-bit
machines. with this change on 32-bit machines, a vector can
occupy up to 1/2 of virtual memory, strings and fxvectors 1/4,
and bytevectors 1/8.
cmacros.ss
- remade boot files
original commit: 0694b3a5223ab937379e54079bc88d57309dc51f
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
to simplify ($fxu< (most-positive-fixnum) e) => (fx< e 0) so we
don't have any incentive in special casing length checks where
the maximum length happens to be (most-positive-fixnum).
5_4.ss, 5_6.ss, bytevector.ss, cmacros.ss, cp0.ss, cpnanopass.ss,
mkheader.ss, primdata.ss, prims.ss,
fasl.c, gc.c, types.h
root-experr*, patch*
original commit: 9eb63deda025fd4560b54746b21a881c01af46d6
is a fixnum and added meta-asserts to verify that it is in a couple of
others, to facilitate future changes to vector typing. vectors are
now treated essentially like fxvectors, strings, and bytevectors.
cmacros.ss, cpnanopass.ss, prims.ss, mkheader.ss,
alloc.c, gc.c, scheme.c
original commit: 564542d32bbae6b33cef808613238d5a4a2a8ee2
floating-point register arguments as required for varargs functions
by the System V ABI.
x86_64.ss,
foreign.ms
remade boot files
original commit: c5b6fe968f890bbef3488d570756cbe8da211326
Check both the beginning file pointer (bfp) and end file pointer (efp)
of the source location associated with a profile counter when updating
its count.
Assuming that each expression has a unique bfp with respect to profiling
seems to give accurate execution counts for s-expression-based source
locations as in Scheme, but causes problems when targeting other kinds
of syntax. For instance, a C-style function call, referencing the called
function by name, such as "fn(arg)", can logically have profile counters
associated with 1) the function name reference ("fn") and 2) the entire
function call expression ("fn(arg)"), both of which begin at the same
source location. Only the bfp is checked when updating profile counters,
so the two source locations are conflated, and only one counter is
incremented, which gives inaccurate execution counts for both locations;
approximately twice as many for one, and zero for the other.
original commit: d364b05c3c9cd2b299fc20a6f5ec255ab7bd6718
4.ms, root-experr-compile-0-f-f-f
- added print-extended-identifier parameter. when #t, symbols like
1+ and +++ print without escapes.
priminfo.ss, print.ss,
6.ms
original commit: 603019ea82afda1926462214576ef92df15e43c8
that calls the current value of base-exception-handler so the handler
can be overridden, as we do in our own make files.
cafe.ss,
7.ms
original commit: 99b763e30d22b205106ef9a84ea2e0a928fd0b30
form for later passes to choke on. also fixed cp0 to print the correct
name for cpvalid when it does this.
cpvalid.ss, cp0.ss,
misc.ms
- updated the prototype for s_ee_write_char to match the definition
expeditor.c
- updated LOG and release_notes
- rebuilt boot files due to s-directory changes
original commit: 50aa8b34774a9e65e96481ae329a3f329fad7aca
except that combining characters are not treated correctly for
line-wrapping. this addresses github issue #32 and part of issue #81.
c/expeditor.c, s/expeditor.ss
original commit: 87d4811781d7e9183f7710aa6a809b850a38454f
- added a cast to eliminate warnings in c/number.c
- fixed bug in Windows version of directory-separator-predicate in s/6.ss when path-* procedures are passed a path that is not a string.
- fixed bug in s/cp0.ss on Windows with $foreign-wchar?.
- fixed spelling of non-existent
original commit: dd1b741f7572cb0d5a6210c7c796aee7c4026040
* Add some simple reset CSS
* Add some simple base CSS (which includes making the default font family "monospace")
* Change the header on the Profile page
* Add a header to the source file pages
* Desaturate the default profile palette
* Make various other small tweaks, e.g.:
* Change sizing from em's to rem's
* Change H3s to H1s and Ps to H2s
* Change to padding
* etc.
* Update csug with the new default profile palette and some new screenshots (and change occurrences of "css" to "CSS")
original commit: f7d7109de6845f6e91d4a7d77063d46e7e0dff3f
files that no longer exist, which was getting in the way of creating links
for files that do exist. Also updated the build batch file for Windows to
compile the nanopass framework separately before building the rest of the
scheme compiler and libraries.
s/Mf-{a6,i3,ta6,ti3}nt, s/bldnt.bat,
mats/Mf-{a6,i3,ta6,ti3}nt
- updated the read me to include a link to the Chez Scheme project page.
README.md
original commit: 969fbf3b69f4ac9729847bae80dab92464b6d08c
* Mark the files as HTML5 rather than HTML4.
* Use target attributes rather than onclick events to open links in specific windows.
* Add a missing table row element.
* Replace the deprecated name attribute with an id attribute (and replace the anchors with spans).
* Replace the deprecated valign attribute with a style attribute.
original commit: bcaba9db283693ee6d4e79e82ba0ff60ee90ba5c
line from the wpo file (if it has one) to the object file.
compile.ss,
7.ms
- stex is now a submodule. csug/Makefile and release_notes/Makefile
set and use the required Scheme and STEXLIB variables accordingly.
they default the machine type to a6le, but this can be overridden
and is by the generated top-level Makefile. the generated top-level
Makefile now has a new docs target that runs make in both csug and
release_notes, and an updated distclean target that cleans the same.
the annoying csug Makefile .fig.pdf rule redefinition is now gone.
copyright.stex and csug.stex now list May 2016 as the revision month
and date; this will have to be updated for future releases.
configure, makefiles/Makefile.in,
csug/Makefile, copyright.stex, csug.stex,
release_notes/Makefile
- rebuilt the boot files
original commit: 4bd78a692dd4ca2f88af5d404fd0993a2d141e7b
obviated scale_float in the process.
number.c,
ieee.ms
- fixed 0eNNNN for large NNNN to produce 0.0 rather than infinity
strnum.ss,
5_3.ms
- the reader now raises an exception with condition type implementation
restriction (among the other usual lexical condition types), and
string->number now raises #f, for #e<m>@<a>, where <m> and <a> are
nonzero integers, since Chez Scheme can't represent polar numbers other
than 0@<a> and <m>@0 exactly. <m>@<a> still produces an inexact result,
i.e., we're still extending the set of inexact numeric constants beyond
what R6RS dictates. doing this required a rework of $str->num, which
turned into a fairly extensive rewrite that fixed up a few other minor
issues (like r6rs:string->number improperly allowing 1/2e10) and
eliminated the need for consumers to call $str->num twice in cases
where it actually produces a number. added some related new tests,
including several found lacking by profiling. added a couple of
checks to number->string whose absence was causing argument errors to
be reported by other routines.
strnum.ss, exceptions.ss, read.ss
5_3.ms, 6.ms, root-experr*, patch*
- added pdtml flag, which if set to t causes profile-dump-html to be
called at the end of a mat run.
mats/Mf-base
original commit: 03f2fe86171b0fd096238280b351ce365c701450