mit-scheme.git
6 years agoConfirm that complex flonum components survive read/write in hex.
Taylor R Campbell [Fri, 16 Nov 2018 16:48:00 +0000 (16:48 +0000)]
Confirm that complex flonum components survive read/write in hex.

6 years agoTeach the printer to print inexacts and complexes in hexadecimal.
Taylor R Campbell [Fri, 16 Nov 2018 16:46:08 +0000 (16:46 +0000)]
Teach the printer to print inexacts and complexes in hexadecimal.

6 years agoAdd some more tests for read/write invariance with hex.
Taylor R Campbell [Fri, 16 Nov 2018 16:39:50 +0000 (16:39 +0000)]
Add some more tests for read/write invariance with hex.

Printer doesn't yet understand how to print flonums in hex, so xfail.

6 years agoDon't add the #x marker in flo:->string / number->string.
Taylor R Campbell [Fri, 16 Nov 2018 16:38:36 +0000 (16:38 +0000)]
Don't add the #x marker in flo:->string / number->string.

We'll add it in the printer downstream.

6 years agoUse a make macro with $(MAKE) to make in subdirs, with + modifier.
Taylor R Campbell [Fri, 16 Nov 2018 09:18:19 +0000 (09:18 +0000)]
Use a make macro with $(MAKE) to make in subdirs, with + modifier.

- Avoids relying on `make' to execute the right make.
- Works with `make -n'.

6 years agoFix case that wasn't adequately exercised.
Taylor R Campbell [Fri, 16 Nov 2018 09:09:40 +0000 (09:09 +0000)]
Fix case that wasn't adequately exercised.

6 years agoTickle error case that I missed.
Taylor R Campbell [Fri, 16 Nov 2018 09:08:43 +0000 (09:08 +0000)]
Tickle error case that I missed.

6 years agoRevert "Remove workaround for 9.2 compiler bug."
Taylor R Campbell [Fri, 16 Nov 2018 08:35:42 +0000 (08:35 +0000)]
Revert "Remove workaround for 9.2 compiler bug."

This reverts commit 7828111b77fb53e34b365abc775148f49eabe1d2.

I haven't tracked this down because the stack trace is full of frames
in the compiler for which we don't install debug data but the symptom
is:

;  Compiling file: "./floenv.bin" => "./floenv.com"...
;The object +inf.0, passed as the first argument to flonum-normalize, is not the correct type.

First few frames suggest this is in flo:->rational called by something
in RTL CSE.

6 years agoTeach (number->string x 16) to use radix 16, base 2 exponent notation.
Taylor R Campbell [Fri, 16 Nov 2018 08:02:22 +0000 (08:02 +0000)]
Teach (number->string x 16) to use radix 16, base 2 exponent notation.

6 years agoFix export list of (runtime ieee754).
Taylor R Campbell [Fri, 16 Nov 2018 07:44:50 +0000 (07:44 +0000)]
Fix export list of (runtime ieee754).

6 years agoFix definition of flo:largest-positive-normal.
Taylor R Campbell [Fri, 16 Nov 2018 07:41:53 +0000 (07:41 +0000)]
Fix definition of flo:largest-positive-normal.

6 years agoTest a couple edge cases for hexadecimal floating-point parsing.
Taylor R Campbell [Fri, 16 Nov 2018 07:41:19 +0000 (07:41 +0000)]
Test a couple edge cases for hexadecimal floating-point parsing.

One is xfail right now because I defined flo:largest-positive-normal
wrong -- oops!

6 years agoAdd support for parsing non-decimal radix points and binary exponents.
Taylor R Campbell [Fri, 16 Nov 2018 07:39:47 +0000 (07:39 +0000)]
Add support for parsing non-decimal radix points and binary exponents.

6 years agoAdd some trivial string->number tests.
Taylor R Campbell [Fri, 16 Nov 2018 07:22:25 +0000 (07:22 +0000)]
Add some trivial string->number tests.

6 years agoDon't transform (- x) into (- 0 x).
Taylor R Campbell [Fri, 16 Nov 2018 07:05:17 +0000 (07:05 +0000)]
Don't transform (- x) into (- 0 x).

The transformation is wrong for floating-point signed zero.

6 years agoAdd an explicit test for negating zero with (- x).
Taylor R Campbell [Fri, 16 Nov 2018 07:08:07 +0000 (07:08 +0000)]
Add an explicit test for negating zero with (- x).

Currently xfail for some cases because of incorrect optimization in
sf.

6 years agoRemove workaround for 9.2 compiler bug.
Chris Hanson [Fri, 16 Nov 2018 07:27:17 +0000 (23:27 -0800)]
Remove workaround for 9.2 compiler bug.

6 years agoRemove workaround for 9.2 compiler bug.
Chris Hanson [Fri, 16 Nov 2018 07:26:21 +0000 (23:26 -0800)]
Remove workaround for 9.2 compiler bug.

6 years agoEliminate support for old types in debugging info.
Chris Hanson [Fri, 16 Nov 2018 07:24:00 +0000 (23:24 -0800)]
Eliminate support for old types in debugging info.

6 years agoEliminate obsolete record-type-dispatch-tag.
Chris Hanson [Fri, 16 Nov 2018 07:19:35 +0000 (23:19 -0800)]
Eliminate obsolete record-type-dispatch-tag.

6 years agoRemove no-longer-needed comment.
Chris Hanson [Fri, 16 Nov 2018 07:08:04 +0000 (23:08 -0800)]
Remove no-longer-needed comment.

6 years agoImplement new-make-define-structure-type without the obsolete argument.
Chris Hanson [Fri, 16 Nov 2018 07:06:35 +0000 (23:06 -0800)]
Implement new-make-define-structure-type without the obsolete argument.

Temporarily preserve make-define-structure-type which ignores the arg.

6 years agoChange plugins to use the already-compiled toolchain.
Chris Hanson [Fri, 16 Nov 2018 07:03:45 +0000 (23:03 -0800)]
Change plugins to use the already-compiled toolchain.

6 years agoEliminate structure-type/unparser-method and its dependents.
Chris Hanson [Fri, 16 Nov 2018 05:36:02 +0000 (21:36 -0800)]
Eliminate structure-type/unparser-method and its dependents.

6 years agoEliminate old version of make-record-type.
Chris Hanson [Fri, 16 Nov 2018 05:31:22 +0000 (21:31 -0800)]
Eliminate old version of make-record-type.

6 years agoAdd patch from internet to enable/disable FP traps on macOS.
Chris Hanson [Thu, 15 Nov 2018 05:19:09 +0000 (21:19 -0800)]
Add patch from internet to enable/disable FP traps on macOS.

6 years agoBig round of changes to UCD tables, no longer need runtime conversion.
Chris Hanson [Wed, 14 Nov 2018 07:06:20 +0000 (23:06 -0800)]
Big round of changes to UCD tables, no longer need runtime conversion.

Previous tables had to be compiled using 9.2, and couldn't use bytevector,
unicode string syntax, or R7RS char/string escapes.  Now they do that which
results in some small space savings and less work at cold load.

Additionally I changed the representation of multiple-code-point values from
strings to vectors.  The old representation depended on the fact that
vector->string didn't do normalization, so those strings can't be constructed at
compile time (they'll be normalized) and anyway it's not good to depend on that
feature of vector->string.

6 years agoChange default port char-set to ASCII.
Chris Hanson [Wed, 14 Nov 2018 04:47:46 +0000 (20:47 -0800)]
Change default port char-set to ASCII.

6 years agoAdd char-set operation to string output ports, using Unicode.
Chris Hanson [Wed, 14 Nov 2018 04:47:17 +0000 (20:47 -0800)]
Add char-set operation to string output ports, using Unicode.

6 years agoSpeed up the ieee754.scm tests a tiny bit.
Taylor R Campbell [Tue, 13 Nov 2018 07:26:27 +0000 (07:26 +0000)]
Speed up the ieee754.scm tests a tiny bit.

6 years agoSimplify enumerated tests here.
Taylor R Campbell [Tue, 13 Nov 2018 07:26:05 +0000 (07:26 +0000)]
Simplify enumerated tests here.

6 years agoSkip floating-point trap tests if the host doesn't support them.
Taylor R Campbell [Tue, 13 Nov 2018 07:25:36 +0000 (07:25 +0000)]
Skip floating-point trap tests if the host doesn't support them.

6 years agoIgnore .fni and .moc files too.
Taylor R Campbell [Tue, 13 Nov 2018 06:25:27 +0000 (06:25 +0000)]
Ignore .fni and .moc files too.

6 years agoMissed a spot: 64-bit architecture is effectively heap-in-low-memory.
Taylor R Campbell [Tue, 13 Nov 2018 06:03:06 +0000 (06:03 +0000)]
Missed a spot: 64-bit architecture is effectively heap-in-low-memory.

6 years agoTeach the ucode to build on NetBSD/aarch64.
Taylor R Campbell [Tue, 13 Nov 2018 05:56:28 +0000 (05:56 +0000)]
Teach the ucode to build on NetBSD/aarch64.

6 years agoCull configure checks for unused functions.
Taylor R Campbell [Tue, 13 Nov 2018 05:55:56 +0000 (05:55 +0000)]
Cull configure checks for unused functions.

6 years agoExport flo:random-unit-{closed,open} and deprecate flo:random-unit.
Chris Hanson [Mon, 12 Nov 2018 07:03:27 +0000 (23:03 -0800)]
Export flo:random-unit-{closed,open} and deprecate flo:random-unit.

6 years agoFix bug: couldn't compile random.scm on a 32-bit system.
Chris Hanson [Mon, 12 Nov 2018 07:01:46 +0000 (23:01 -0800)]
Fix bug: couldn't compile random.scm on a 32-bit system.

The problem is that it was trying to represent the constant #x55555555 as a
fixnum, which won't work.  I added more selective macro-expansion to enable only
those parts of the code relevant for the different word sizes.

6 years agoFix bug: -Werror means FOO_length_in_bits won't compile on 32-bit gcc.
Chris Hanson [Mon, 12 Nov 2018 06:59:33 +0000 (22:59 -0800)]
Fix bug: -Werror means FOO_length_in_bits won't compile on 32-bit gcc.

Before it just issued a warning.  I rewrote it so that it works.

6 years agoDisable -Winline.
Taylor R Campbell [Sun, 11 Nov 2018 02:44:06 +0000 (02:44 +0000)]
Disable -Winline.

Not really generally useful unless you're tuning particular code;
highly compiler-dependent.  Currently breaks -Os.

6 years agoCheck for overflow in int, not size_t.
Taylor R Campbell [Sat, 10 Nov 2018 18:01:00 +0000 (18:01 +0000)]
Check for overflow in int, not size_t.

6 years agoUse -Wl,-export-dynamic to pass -export-dynamic to the linker.
Taylor R Campbell [Sat, 10 Nov 2018 18:00:42 +0000 (18:00 +0000)]
Use -Wl,-export-dynamic to pass -export-dynamic to the linker.

6 years agoDisable -Wunreachable-code for now, too many false positives.
Taylor R Campbell [Sat, 10 Nov 2018 18:00:00 +0000 (18:00 +0000)]
Disable -Wunreachable-code for now, too many false positives.

6 years agoUse -frounding-math since we change the rounding mode.
Taylor R Campbell [Thu, 8 Nov 2018 18:56:40 +0000 (18:56 +0000)]
Use -frounding-math since we change the rounding mode.

6 years agoFix problems when trying to compile under macOS.
Chris Hanson [Sat, 10 Nov 2018 07:03:30 +0000 (23:03 -0800)]
Fix problems when trying to compile under macOS.

6 years agoBump version number so it's different from release.
Chris Hanson [Fri, 9 Nov 2018 06:37:04 +0000 (22:37 -0800)]
Bump version number so it's different from release.

6 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Fri, 9 Nov 2018 06:46:09 +0000 (22:46 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

6 years agoAllow --enable-debugging to have a third value.
Chris Hanson [Fri, 9 Nov 2018 06:44:51 +0000 (22:44 -0800)]
Allow --enable-debugging to have a third value.

Anything other than "yes" or "no" will be interpreted as setting the C compiler
to generate debugging symbols, but not turn on all of the debugging helpers in
the microcode.

6 years agoShow the expression too.
Taylor R Campbell [Thu, 8 Nov 2018 18:30:27 +0000 (18:30 +0000)]
Show the expression too.

6 years agoUse multiple tests rather than an iterated test to get all results.
Taylor R Campbell [Thu, 8 Nov 2018 17:59:19 +0000 (17:59 +0000)]
Use multiple tests rather than an iterated test to get all results.

6 years agoParanoia (and gcc warning suppression): Avoid arithmetic overflow.
Taylor R Campbell [Thu, 8 Nov 2018 17:25:14 +0000 (17:25 +0000)]
Paranoia (and gcc warning suppression): Avoid arithmetic overflow.

6 years agoDisable -Wstringop-truncation.
Taylor R Campbell [Thu, 8 Nov 2018 17:09:47 +0000 (17:09 +0000)]
Disable -Wstringop-truncation.

We use strncpy in very limited ways, one of which is for struct
sockaddr_un, for which strncpy truncation is correct.

6 years agoExplain why we don't do -Wmissing-prototypes yet.
Taylor R Campbell [Thu, 8 Nov 2018 16:19:03 +0000 (16:19 +0000)]
Explain why we don't do -Wmissing-prototypes yet.

6 years agoAdd -Wunreachable-code and -Wwrite-strings.
Taylor R Campbell [Thu, 8 Nov 2018 16:17:41 +0000 (16:17 +0000)]
Add -Wunreachable-code and -Wwrite-strings.

6 years agoMerge all the warning flags into the same list.
Taylor R Campbell [Thu, 8 Nov 2018 16:16:25 +0000 (16:16 +0000)]
Merge all the warning flags into the same list.

6 years agoSubscribe to particular warning flags, not to -Wextra.
Taylor R Campbell [Thu, 8 Nov 2018 16:13:32 +0000 (16:13 +0000)]
Subscribe to particular warning flags, not to -Wextra.

-Wextra now entails -Wcast-function-type, which is incompatible with
various Unix APIs like sigaction.

6 years agoFix reader NaN notation: -nan.0/+nan.0, not just nan.0.
Taylor R Campbell [Thu, 8 Nov 2018 16:02:09 +0000 (16:02 +0000)]
Fix reader NaN notation: -nan.0/+nan.0, not just nan.0.

6 years agoSome trivial tests for read/write invariance.
Taylor R Campbell [Thu, 8 Nov 2018 15:44:43 +0000 (15:44 +0000)]
Some trivial tests for read/write invariance.

One xfail: The `nan.0' notation reads as NaN, not as a symbol, and
`+nan.0' is not recognized.

6 years agoMore atan2 edge cases.
Taylor R Campbell [Thu, 8 Nov 2018 08:22:51 +0000 (08:22 +0000)]
More atan2 edge cases.

6 years agoFix edge cases of flonum divide and atan2.
Taylor R Campbell [Thu, 8 Nov 2018 08:13:33 +0000 (08:13 +0000)]
Fix edge cases of flonum divide and atan2.

6 years agoTest edge cases of flonum-divide primitive and of atan.
Taylor R Campbell [Thu, 8 Nov 2018 08:09:47 +0000 (08:09 +0000)]
Test edge cases of flonum-divide primitive and of atan.

6 years agoLet the system math library elicit IEEE 754 exceptions.
Taylor R Campbell [Thu, 8 Nov 2018 07:49:02 +0000 (07:49 +0000)]
Let the system math library elicit IEEE 754 exceptions.

Don't trap in our ucode primitive wrappers if the floating-point
exception isn't trapped.

6 years agoTest the flonum-sqrt ucode primitive explicitly.
Taylor R Campbell [Thu, 8 Nov 2018 07:47:20 +0000 (07:47 +0000)]
Test the flonum-sqrt ucode primitive explicitly.

The compiler open-codes it in flo:sqrt on amd64, which hardware gives
the correct behaviour, but the ucode does not right now.

6 years agoFollow IEEE 754 semantics: disable floating-point traps by default.
Taylor R Campbell [Thu, 8 Nov 2018 07:42:50 +0000 (07:42 +0000)]
Follow IEEE 754 semantics: disable floating-point traps by default.

6 years agoAdd tests for floating-point exceptions.
Taylor R Campbell [Thu, 8 Nov 2018 07:40:13 +0000 (07:40 +0000)]
Add tests for floating-point exceptions.

6 years agoMind my i's and j\s.
Taylor R Campbell [Thu, 8 Nov 2018 02:12:36 +0000 (02:12 +0000)]
Mind my i's and j\s.

6 years agoI broke random-bytevector for large inputs.
Taylor R Campbell [Thu, 8 Nov 2018 02:11:54 +0000 (02:11 +0000)]
I broke random-bytevector for large inputs.

6 years agoRewrite random number generator.
Taylor R Campbell [Wed, 7 Nov 2018 17:28:37 +0000 (17:28 +0000)]
Rewrite random number generator.

New one has 32-byte state s, produces output x by splitting 64-byte
ChaCha20_s(0) into 32-byte halves s' and x and replacing the state by
s'.

I added two alternate implementations of flo:random-unit, one which
samples real numbers uniformly from [0,1] and rounds them to
floating-point numbers, and one which samples real numbers uniformly
from (2^{-emin - p - 1}, 1 - ulp(1)/4) and rounds them to
floating-point numbers.  The latter is wrong for various reasons but
it is closer to what we historically provided, so it is what we use
for now.

I removed the fallback in case get-entropy (/dev/urandom) fails,
which means this won't work on Windows until someone teaches the
microcode to call CryptGenRandom there, and won't work in a chroot
unless someone teaches it to use getentropy(2) or getrandom(2) or
whatever.

If this causes any problems, feel free to back out this commit --
aside from refusing to fall back to getting `entropy' from the clock
and having a different export format, this is intended to be a
drop-in replacement for the old random.scm (hence the recent tests),
so if I made a mistake just back it out, let me know what went wrong,
and I'll add more tests before re-merging it.

6 years agoTest that make-random-source is deterministic.
Taylor R Campbell [Wed, 7 Nov 2018 17:20:23 +0000 (17:20 +0000)]
Test that make-random-source is deterministic.

6 years agoRandomize the dispatch tag cache; don't copy the system state.
Taylor R Campbell [Wed, 7 Nov 2018 17:15:13 +0000 (17:15 +0000)]
Randomize the dispatch tag cache; don't copy the system state.

6 years agoUse get-entropy primitive to initialize random states.
Taylor R Campbell [Wed, 7 Nov 2018 17:09:55 +0000 (17:09 +0000)]
Use get-entropy primitive to initialize random states.

6 years agoRemember to close /dev/urandom when done.
Taylor R Campbell [Wed, 7 Nov 2018 17:06:50 +0000 (17:06 +0000)]
Remember to close /dev/urandom when done.

6 years agoCheck for fenv.h and ieeefp.h functions only if the header is there.
Taylor R Campbell [Wed, 7 Nov 2018 16:28:59 +0000 (16:28 +0000)]
Check for fenv.h and ieeefp.h functions only if the header is there.

Makes it easier to disable these and test our own version by just
setting ac_cv_header_fenv_h=no ac_cv_header_ieeefp_h=no.

6 years agoAdd -Werror after all autoconf checks.
Taylor R Campbell [Wed, 7 Nov 2018 16:27:44 +0000 (16:27 +0000)]
Add -Werror after all autoconf checks.

If we do it before, the autoconf checks -- which are full of compiler
warnings -- all fail.

6 years agoNeed "osentropy.h" for OS_get_entropy.
Taylor R Campbell [Wed, 7 Nov 2018 16:27:15 +0000 (16:27 +0000)]
Need "osentropy.h" for OS_get_entropy.

6 years agoUse "config.h" to get uint8_t. No more need of <stddef.h> for size_t.
Taylor R Campbell [Wed, 7 Nov 2018 16:27:01 +0000 (16:27 +0000)]
Use "config.h" to get uint8_t.  No more need of <stddef.h> for size_t.

6 years agoFix prototypes for x87_read/write_environment.
Taylor R Campbell [Wed, 7 Nov 2018 16:26:23 +0000 (16:26 +0000)]
Fix prototypes for x87_read/write_environment.

6 years agoUse a fresh random state for randomized tests.
Taylor R Campbell [Wed, 7 Nov 2018 16:00:48 +0000 (16:00 +0000)]
Use a fresh random state for randomized tests.

6 years agoMore floating-point parameters.
Taylor R Campbell [Wed, 7 Nov 2018 07:53:44 +0000 (07:53 +0000)]
More floating-point parameters.

6 years agoNew primitive (get-entropy bv) randomly fills a 32-byte vector.
Taylor R Campbell [Wed, 7 Nov 2018 07:52:46 +0000 (07:52 +0000)]
New primitive (get-entropy bv) randomly fills a 32-byte vector.

6 years agoTurn off -Werror here; breaks configure.
Taylor R Campbell [Wed, 7 Nov 2018 07:40:12 +0000 (07:40 +0000)]
Turn off -Werror here; breaks configure.

Should turn it back on somewhere else.

6 years agoMissed a run-sub-test.
Taylor R Campbell [Wed, 7 Nov 2018 05:35:36 +0000 (05:35 +0000)]
Missed a run-sub-test.

6 years agoNew procedure (bytevector-zero-explicit! <bv> [<start> [<end>]]).
Taylor R Campbell [Wed, 7 Nov 2018 05:33:52 +0000 (05:33 +0000)]
New procedure (bytevector-zero-explicit! <bv> [<start> [<end>]]).

Intended to zero the memory backing a bytevector even if the values
will never be used again and an aggressively optimizing compiler can
prove that.

Doesn't actually work (GC can move stuff without zeroing it) but it
may help to have it in order to tag where it _would_ be needed if we
could make it work in the future.

6 years agoFix indentation.
Taylor R Campbell [Wed, 7 Nov 2018 05:24:41 +0000 (05:24 +0000)]
Fix indentation.

6 years agoMake some of my stupid old randomized tests a little less slow.
Taylor R Campbell [Wed, 7 Nov 2018 05:10:18 +0000 (05:10 +0000)]
Make some of my stupid old randomized tests a little less slow.

Would be better to rewrite these so they're not as stupid.

6 years agoHalfway fix some broken tests.
Taylor R Campbell [Wed, 7 Nov 2018 05:08:02 +0000 (05:08 +0000)]
Halfway fix some broken tests.

- Use with-test-properties, not run-sub-test.

- Disable run-sub-test in the test environment; it doesn't make sense
  for tests to call it.

- Add a rudimentary expect-failure.  (Feel free to spruce this up
  with a message detailing the nature of the expectation, a note in
  the final report, &c.)

- Partly fix test-char-set.scm, which was silently nonfunctional
  because of run-sub-test.  Leave an xfail for the part I don't know
  how to fix.  (Chris -- if you could fix this, that would be great!)

6 years agoDepend on x11-const directly, not via a stamp and submake.
Taylor R Campbell [Wed, 7 Nov 2018 04:03:28 +0000 (04:03 +0000)]
Depend on x11-const directly, not via a stamp and submake.

Going via the submake means parallel make can get confused and cause
two processes to try to build the same thing at the same time and
stomp on each other's toes.

6 years agoMake the C compiler warnings that we subscribe to fatal.
Taylor R Campbell [Wed, 7 Nov 2018 03:08:47 +0000 (03:08 +0000)]
Make the C compiler warnings that we subscribe to fatal.

6 years agoConfirm the primitive respects the bounds too.
Taylor R Campbell [Wed, 7 Nov 2018 03:08:28 +0000 (03:08 +0000)]
Confirm the primitive respects the bounds too.

6 years agoSimplify construction of chacha core test vector tests.
Taylor R Campbell [Wed, 7 Nov 2018 02:52:37 +0000 (02:52 +0000)]
Simplify construction of chacha core test vector tests.

6 years agoTest fenceposts in chacha core primitives.
Taylor R Campbell [Wed, 7 Nov 2018 02:52:17 +0000 (02:52 +0000)]
Test fenceposts in chacha core primitives.

6 years agoUnfix the fix for an off-by-zero.
Taylor R Campbell [Wed, 7 Nov 2018 02:39:25 +0000 (02:39 +0000)]
Unfix the fix for an off-by-zero.

arg_ulong_index_integer(argno, n) takes n as _exclusive_ upper bound.

In this case, n - 64 is a valid starting index.  So the exclusive
upper bound is n - 64 + 1 = n - 63.

6 years agoFix more formatting.
Taylor R Campbell [Wed, 7 Nov 2018 02:39:20 +0000 (02:39 +0000)]
Fix more formatting.

6 years agoEliminate unused variable warnings.
Chris Hanson [Tue, 6 Nov 2018 05:53:04 +0000 (21:53 -0800)]
Eliminate unused variable warnings.

6 years agoFix a bug in prchacha: compiler warned of unused variable.
Chris Hanson [Tue, 6 Nov 2018 05:51:23 +0000 (21:51 -0800)]
Fix a bug in prchacha: compiler warned of unused variable.

Also there was an off-by-one thinko, and incorrect PRIMITIVE_HEADER arguments.
While I was at it I tweaked the formatting a little.

6 years agoFix sign of (flo:ulp -infinity). Simplify.
Taylor R Campbell [Mon, 5 Nov 2018 04:41:14 +0000 (04:41 +0000)]
Fix sign of (flo:ulp -infinity).  Simplify.

flo:ulp is supposed to return a positive magnitude, in particular the
absolute distance from x to the next larger floating-point number in
magnitude.

6 years agoTidy up ieee754.scm, add some tests, and export some of it.
Taylor R Campbell [Mon, 5 Nov 2018 04:40:00 +0000 (04:40 +0000)]
Tidy up ieee754.scm, add some tests, and export some of it.

6 years agoAllow sequences to contain zero elements.
Chris Hanson [Sun, 4 Nov 2018 04:55:19 +0000 (21:55 -0700)]
Allow sequences to contain zero elements.

6 years agoDon't use upper-case symbols in loader.
Chris Hanson [Fri, 2 Nov 2018 05:07:12 +0000 (22:07 -0700)]
Don't use upper-case symbols in loader.

The system might be in a non-case-fold mode.

6 years agoDon't print internals of promises.
Chris Hanson [Fri, 2 Nov 2018 03:31:37 +0000 (20:31 -0700)]
Don't print internals of promises.