mit-scheme.git
5 years agoFlag day: new binaries only work with the 10.1.20 core machine.
Matt Birkholz [Fri, 13 Dec 2019 22:19:38 +0000 (15:19 -0700)]
Flag day: new binaries only work with the 10.1.20 core machine.

5 years agodevops: Support a flag day for x86-64 host 10.1.10.
Matt Birkholz [Sat, 14 Dec 2019 00:46:43 +0000 (17:46 -0700)]
devops: Support a flag day for x86-64 host 10.1.10.

5 years agouser.texinfo: Merged with 10.1.10 and updated for Ubuntu 19.10.
Matt Birkholz [Sat, 14 Dec 2019 04:23:32 +0000 (21:23 -0700)]
user.texinfo: Merged with 10.1.10 and updated for Ubuntu 19.10.

5 years agotests: Re-enable compiler/test-vartrap.
Matt Birkholz [Sat, 14 Dec 2019 04:01:20 +0000 (21:01 -0700)]
tests: Re-enable compiler/test-vartrap.

5 years agodebian/prerm: Simplify; use global delete-plugin-list binding.
Matt Birkholz [Fri, 13 Dec 2019 06:58:46 +0000 (23:58 -0700)]
debian/prerm: Simplify; use global delete-plugin-list binding.

5 years agoblowfish: Include build dependencies texinfo and texlive.
Matt Birkholz [Fri, 13 Dec 2019 06:56:39 +0000 (23:56 -0700)]
blowfish: Include build dependencies texinfo and texlive.

5 years agodevops: Simpler char-in regsexps.
Matt Birkholz [Fri, 13 Dec 2019 06:54:02 +0000 (23:54 -0700)]
devops: Simpler char-in regsexps.

The char-in expression will union multiple char-set-ishes.

5 years agoWordsmith description of --band option.
Matt Birkholz [Fri, 13 Dec 2019 06:50:34 +0000 (23:50 -0700)]
Wordsmith description of --band option.

Drop "returning" a "full pathname".  Leave more room for the default.

5 years agoMerge branch 'master' into pucked.
Matt Birkholz [Fri, 13 Dec 2019 04:43:45 +0000 (21:43 -0700)]
Merge branch 'master' into pucked.

5 years agoMerge branch 'master' into pucked.
Matt Birkholz [Fri, 13 Dec 2019 04:40:26 +0000 (21:40 -0700)]
Merge branch 'master' into pucked.

5 years agoCarefully fix problems caused by changing char-set:graphic. master origin/master
Chris Hanson [Mon, 9 Dec 2019 09:31:35 +0000 (01:31 -0800)]
Carefully fix problems caused by changing char-set:graphic.

5 years agoAdd title of SRFI.
Chris Hanson [Sun, 8 Dec 2019 00:55:05 +0000 (16:55 -0800)]
Add title of SRFI.

5 years agoEliminate use of char-set-members.
Chris Hanson [Thu, 5 Dec 2019 06:19:52 +0000 (22:19 -0800)]
Eliminate use of char-set-members.

5 years agoEliminate use of ascii-range->char-set.
Chris Hanson [Thu, 5 Dec 2019 06:09:49 +0000 (22:09 -0800)]
Eliminate use of ascii-range->char-set.

5 years agoChange REPL to recognize and print multiple values.
Chris Hanson [Thu, 5 Dec 2019 05:20:47 +0000 (21:20 -0800)]
Change REPL to recognize and print multiple values.

5 years agoExtensive revision of Lists chapter in reference manual.
Chris Hanson [Thu, 5 Dec 2019 02:33:08 +0000 (18:33 -0800)]
Extensive revision of Lists chapter in reference manual.

5 years agoEliminate use of list-head and list-tail.
Chris Hanson [Thu, 5 Dec 2019 00:21:06 +0000 (16:21 -0800)]
Eliminate use of list-head and list-tail.

Also make reverse* an alias for append-reverse.

5 years agoEliminate use of with-values.
Chris Hanson [Thu, 5 Dec 2019 00:25:30 +0000 (16:25 -0800)]
Eliminate use of with-values.

5 years agoEliminate use of map*, append-map*, append-map*!.
Chris Hanson [Thu, 5 Dec 2019 00:19:41 +0000 (16:19 -0800)]
Eliminate use of map*, append-map*, append-map*!.

5 years agoConvert test-srfi-1 into a real test.
Chris Hanson [Wed, 4 Dec 2019 08:45:39 +0000 (00:45 -0800)]
Convert test-srfi-1 into a real test.

5 years agoRewrite foldX and reduceX for simplicity.
Chris Hanson [Wed, 4 Dec 2019 22:33:09 +0000 (14:33 -0800)]
Rewrite foldX and reduceX for simplicity.

Deprecate the non-standard X-left procedures, as well as the X* mappings that
can be expressed using fold-right.

5 years agoEliminate use of fold-left.
Chris Hanson [Wed, 4 Dec 2019 08:45:23 +0000 (00:45 -0800)]
Eliminate use of fold-left.

5 years agoForce indent-tabs-mode only for Scheme files.
Chris Hanson [Wed, 4 Dec 2019 07:11:44 +0000 (23:11 -0800)]
Force indent-tabs-mode only for Scheme files.

5 years agoSRFI 115 complete.
Chris Hanson [Tue, 3 Dec 2019 07:50:29 +0000 (23:50 -0800)]
SRFI 115 complete.

5 years agoPull Unicode segmentation support out of string and rewrite.
Chris Hanson [Tue, 3 Dec 2019 07:44:41 +0000 (23:44 -0800)]
Pull Unicode segmentation support out of string and rewrite.

This is a nearly complete reimplementation, with a simpler and faster DFA,
providing a fold-like interface.

The describing rules are nearly identical to those in UAX #29, which makes them
much easier to write and understand.  Also, there's a debugging feature that
shows how the DFA evolves for a given string.

5 years agoImplement more general zero-width assertions in the regexp NFA.
Chris Hanson [Tue, 3 Dec 2019 07:42:23 +0000 (23:42 -0800)]
Implement more general zero-width assertions in the regexp NFA.

5 years agoRound out the named char-set abstraction.
Chris Hanson [Tue, 3 Dec 2019 07:41:42 +0000 (23:41 -0800)]
Round out the named char-set abstraction.

5 years agoMore SRFI 115 work.
Chris Hanson [Tue, 3 Dec 2019 04:48:06 +0000 (20:48 -0800)]
More SRFI 115 work.

Fixed issues with implementation of regexp-match-submatch*.
Implemented procedures for folding and transforming.

5 years agoImplement regexp-search-all and fix two typos.
Chris Hanson [Tue, 3 Dec 2019 02:28:46 +0000 (18:28 -0800)]
Implement regexp-search-all and fix two typos.

5 years agoUse char-set:printing, not graphic, so we can type SPC in Edwin again.
Taylor R Campbell [Mon, 9 Dec 2019 02:27:19 +0000 (02:27 +0000)]
Use char-set:printing, not graphic, so we can type SPC in Edwin again.

5 years agoImplement regexp replacement.
Chris Hanson [Tue, 3 Dec 2019 00:05:48 +0000 (16:05 -0800)]
Implement regexp replacement.

5 years agoAdd missing call to run-deferred-boot-actions.
Chris Hanson [Tue, 3 Dec 2019 00:13:30 +0000 (16:13 -0800)]
Add missing call to run-deferred-boot-actions.

5 years agoImplement (w/FOO ...) patterns for SRFI 115.
Chris Hanson [Mon, 2 Dec 2019 17:43:47 +0000 (09:43 -0800)]
Implement (w/FOO ...) patterns for SRFI 115.

5 years agoAdd support for case-folding of character sets.
Chris Hanson [Mon, 2 Dec 2019 08:59:19 +0000 (00:59 -0800)]
Add support for case-folding of character sets.

5 years agoChar-set refactor: SRFI 14 complete.
Chris Hanson [Mon, 2 Dec 2019 08:37:01 +0000 (00:37 -0800)]
Char-set refactor: SRFI 14 complete.

5 years agoChar-set refactor: add another round of SRFI 14 support.
Chris Hanson [Mon, 2 Dec 2019 07:25:55 +0000 (23:25 -0800)]
Char-set refactor: add another round of SRFI 14 support.

Also rename old char-set->string to char-set->ascii-string since it conflicted
with SRFI 14.

5 years agoChar-set refactor: fill out some missing SRFI 14 procedures.
Chris Hanson [Mon, 2 Dec 2019 06:51:54 +0000 (22:51 -0800)]
Char-set refactor: fill out some missing SRFI 14 procedures.

5 years agoChar-set refactor: a bunch of small internal changes.
Chris Hanson [Mon, 2 Dec 2019 06:30:32 +0000 (22:30 -0800)]
Char-set refactor: a bunch of small internal changes.

5 years agoExpand the ilist and ranges abstractions in preparation for char-set refactor.
Chris Hanson [Mon, 2 Dec 2019 06:26:59 +0000 (22:26 -0800)]
Expand the ilist and ranges abstractions in preparation for char-set refactor.

5 years agoReorganization in preparation for char-set refactor.
Chris Hanson [Mon, 2 Dec 2019 04:49:07 +0000 (20:49 -0800)]
Reorganization in preparation for char-set refactor.

5 years agoA bunch of renames in preparation for char-set refactor.
Chris Hanson [Mon, 2 Dec 2019 04:11:21 +0000 (20:11 -0800)]
A bunch of renames in preparation for char-set refactor.

5 years agoMove string-fold{,-right} into runtime.
Chris Hanson [Sun, 1 Dec 2019 23:19:58 +0000 (15:19 -0800)]
Move string-fold{,-right} into runtime.

5 years agoRefactor regexp-rules to allow prefix arguments.
Chris Hanson [Sun, 1 Dec 2019 04:48:26 +0000 (20:48 -0800)]
Refactor regexp-rules to allow prefix arguments.

5 years agoRename SRE? -> VALID-SRE?.
Chris Hanson [Sat, 30 Nov 2019 23:13:06 +0000 (15:13 -0800)]
Rename SRE? -> VALID-SRE?.

5 years agoFix some issues with tags generation.
Chris Hanson [Mon, 2 Dec 2019 07:23:02 +0000 (23:23 -0800)]
Fix some issues with tags generation.

5 years agoFix typo in previous commit.
Chris Hanson [Mon, 2 Dec 2019 03:56:15 +0000 (19:56 -0800)]
Fix typo in previous commit.

5 years agoFix wrong number of arguments.
Taylor R Campbell [Sun, 1 Dec 2019 00:12:36 +0000 (00:12 +0000)]
Fix wrong number of arguments.

5 years agoCollapse NFA matcher node types together.
Chris Hanson [Sat, 30 Nov 2019 08:35:13 +0000 (00:35 -0800)]
Collapse NFA matcher node types together.

5 years agoOptimize follow-epsilons to reuse the same hash table.
Chris Hanson [Sat, 30 Nov 2019 08:22:57 +0000 (00:22 -0800)]
Optimize follow-epsilons to reuse the same hash table.

There's no reason to cons a new one on each call since we can just clear it
between calls.

5 years agoRewrite the NFA regexp interpreter into epsilon/matcher phases.
Chris Hanson [Sat, 30 Nov 2019 08:08:01 +0000 (00:08 -0800)]
Rewrite the NFA regexp interpreter into epsilon/matcher phases.

This greatly simplifies the interpreter's operation, and isolates the state
elision in the epsilon phase where it belongs.

Also added hash-consing of states, so that we can use eq? to compare them.

5 years agoChange NFS nodes to have a clearer set of types.
Chris Hanson [Sat, 30 Nov 2019 06:01:48 +0000 (22:01 -0800)]
Change NFS nodes to have a clearer set of types.

This also allows more detailed analysis of the graph: we can now write a program
that will determine the initial character(s) of a regexp and use that to speed
up search.

5 years agoMarkup and tweaks for partial SRFI 14 support.
Chris Hanson [Sat, 30 Nov 2019 06:01:06 +0000 (22:01 -0800)]
Markup and tweaks for partial SRFI 14 support.

5 years agoImplement NFA regexp engine and change srfi-115 to use it.
Chris Hanson [Sat, 30 Nov 2019 01:20:26 +0000 (17:20 -0800)]
Implement NFA regexp engine and change srfi-115 to use it.

5 years agoImplement char-set-size and update char-set:newline.
Chris Hanson [Sat, 30 Nov 2019 01:19:48 +0000 (17:19 -0800)]
Implement char-set-size and update char-set:newline.

5 years agoPartial implementation of SRFI 115.
Chris Hanson [Wed, 27 Nov 2019 08:09:29 +0000 (00:09 -0800)]
Partial implementation of SRFI 115.

5 years agoAdd character sets needed for SRFI 115.
Chris Hanson [Mon, 25 Nov 2019 21:39:17 +0000 (13:39 -0800)]
Add character sets needed for SRFI 115.

5 years agoRefactor regsexp for simplicity and future sharing.
Chris Hanson [Mon, 25 Nov 2019 09:33:26 +0000 (01:33 -0800)]
Refactor regsexp for simplicity and future sharing.

* The rule engine has been moved to its own file, rewritten, and generalized.

* The recursive implementation has been moved to its own file and slightly
  edited.

* There's new support for match replacement.

5 years agoAdd define-deferred-procedure to capture a common pattern.
Chris Hanson [Wed, 27 Nov 2019 06:27:27 +0000 (22:27 -0800)]
Add define-deferred-procedure to capture a common pattern.

5 years agoImplement complement, a predicate inverter.
Chris Hanson [Mon, 25 Nov 2019 05:50:53 +0000 (21:50 -0800)]
Implement complement, a predicate inverter.

5 years agoFix typo from earlier commit.
Chris Hanson [Mon, 25 Nov 2019 07:38:32 +0000 (23:38 -0800)]
Fix typo from earlier commit.

5 years agoImplementation of the immutable strings of SRFI 140.
Chris Hanson [Tue, 19 Nov 2019 06:48:40 +0000 (22:48 -0800)]
Implementation of the immutable strings of SRFI 140.

This does not include the mutable strings from SRFI 118.

5 years agoTighten up testing of duplicate imports to ensure R7RS compatibility.
Chris Hanson [Wed, 20 Nov 2019 05:23:06 +0000 (21:23 -0800)]
Tighten up testing of duplicate imports to ensure R7RS compatibility.

5 years agoChange list->string to take optional start and end args.
Chris Hanson [Tue, 19 Nov 2019 06:47:50 +0000 (22:47 -0800)]
Change list->string to take optional start and end args.

This extension matches SRFI 140.

5 years agoAllow string-builder to take a zero argument.
Chris Hanson [Tue, 19 Nov 2019 06:46:03 +0000 (22:46 -0800)]
Allow string-builder to take a zero argument.

This simplifies cases where the length of the result is known in advance and
passed as the buffer size.

5 years agoOn error, show a condition report instead of a condition object.
Chris Hanson [Tue, 19 Nov 2019 06:45:25 +0000 (22:45 -0800)]
On error, show a condition report instead of a condition object.

5 years agoUpdate reference manual with changes to string-{splitter,trimmer}.
Chris Hanson [Tue, 19 Nov 2019 02:15:06 +0000 (18:15 -0800)]
Update reference manual with changes to string-{splitter,trimmer}.

5 years agoModify string-splitter and string-trimmer to accept copier arg.
Chris Hanson [Mon, 18 Nov 2019 07:42:20 +0000 (23:42 -0800)]
Modify string-splitter and string-trimmer to accept copier arg.

5 years agoChange string-builder to use a vector as its buffer.
Chris Hanson [Mon, 18 Nov 2019 04:12:39 +0000 (20:12 -0800)]
Change string-builder to use a vector as its buffer.

Hopefully this will be generally faster since it's slower to copy characters
into a mutable string than it is into a vector.

5 years agoImplement UTF-{16,32} converters that use BOM.
Chris Hanson [Mon, 18 Nov 2019 00:48:18 +0000 (16:48 -0800)]
Implement UTF-{16,32} converters that use BOM.

This is needed for support of SRFI 140.

5 years agoFix bug in parsing of cond-expand.
Chris Hanson [Mon, 18 Nov 2019 00:35:53 +0000 (16:35 -0800)]
Fix bug in parsing of cond-expand.

5 years agoFix warning about re-exporting imported names from libraries.
Chris Hanson [Mon, 18 Nov 2019 00:14:20 +0000 (16:14 -0800)]
Fix warning about re-exporting imported names from libraries.

5 years agoFix typo.
Chris Hanson [Sun, 17 Nov 2019 22:51:36 +0000 (14:51 -0800)]
Fix typo.

5 years agoUse euclidean/ from division package as pointed out by Taylor.
Chris Hanson [Sat, 16 Nov 2019 23:01:40 +0000 (15:01 -0800)]
Use euclidean/ from division package as pointed out by Taylor.

Also fix typo.

5 years agoRegister srfi-133 and srfi-143 for cond-expand.
Chris Hanson [Mon, 11 Nov 2019 08:42:50 +0000 (00:42 -0800)]
Register srfi-133 and srfi-143 for cond-expand.

5 years agoFinish implementing SRFI 143.
Chris Hanson [Mon, 11 Nov 2019 08:39:10 +0000 (00:39 -0800)]
Finish implementing SRFI 143.

5 years agoAdd usual-integrations for SRFI-143 bindings.
Chris Hanson [Tue, 5 Nov 2019 04:19:26 +0000 (20:19 -0800)]
Add usual-integrations for SRFI-143 bindings.

5 years agoAdd some SRFI-143 renames to primitive arithmetic.
Chris Hanson [Tue, 5 Nov 2019 04:06:03 +0000 (20:06 -0800)]
Add some SRFI-143 renames to primitive arithmetic.

5 years agoIntegrate inline tests into testing framework.
Chris Hanson [Mon, 28 Oct 2019 01:08:29 +0000 (18:08 -0700)]
Integrate inline tests into testing framework.

5 years agoImplement as-needed loading of libraries on import.
Chris Hanson [Mon, 28 Oct 2019 00:48:07 +0000 (17:48 -0700)]
Implement as-needed loading of libraries on import.

This does topological sorting to do the loads in the right order, but doesn't
handle dependency loops (yet).

5 years agoAdd implementation of simple directed graph algorithms.
Chris Hanson [Sun, 27 Oct 2019 22:07:00 +0000 (15:07 -0700)]
Add implementation of simple directed graph algorithms.

5 years agoAdd ability to import a library into an existing environment.
Chris Hanson [Sun, 27 Oct 2019 20:52:55 +0000 (13:52 -0700)]
Add ability to import a library into an existing environment.

5 years agoAutomatically pre-register libraries in standard places.
Chris Hanson [Sun, 27 Oct 2019 05:50:52 +0000 (22:50 -0700)]
Automatically pre-register libraries in standard places.

5 years agoAdd param:hide-notifications?.
Chris Hanson [Sun, 27 Oct 2019 05:50:11 +0000 (22:50 -0700)]
Add param:hide-notifications?.

5 years agoCreate a new directory src/libraries, to hold R7RS libraries.
Chris Hanson [Wed, 23 Oct 2019 07:29:52 +0000 (00:29 -0700)]
Create a new directory src/libraries, to hold R7RS libraries.

Initially populate this with (srfi 133) and (mit inline-testing), plus unit
tests for the former.

5 years agoPreserve the initial host-library-db.
Chris Hanson [Tue, 22 Oct 2019 07:16:20 +0000 (00:16 -0700)]
Preserve the initial host-library-db.

5 years agoCreate a "standard" library providing access to the library database.
Chris Hanson [Tue, 22 Oct 2019 06:00:09 +0000 (23:00 -0700)]
Create a "standard" library providing access to the library database.

This is useful for programs that want to work directly on libraries.

5 years agoFix problems with reporting why an auto property isn't available.
Chris Hanson [Tue, 22 Oct 2019 05:58:01 +0000 (22:58 -0700)]
Fix problems with reporting why an auto property isn't available.

The previous approach was not filtering the dependencies right.

5 years agoEliminate duplicate binding.
Chris Hanson [Tue, 22 Oct 2019 05:13:46 +0000 (22:13 -0700)]
Eliminate duplicate binding.

5 years agoDon't rewrite library imports after parsing them.
Chris Hanson [Tue, 22 Oct 2019 05:12:36 +0000 (22:12 -0700)]
Don't rewrite library imports after parsing them.

It's more convenient to have the retain their syntax, so that they can be used
by programs using reflective access to the libraries.

5 years agoBe more careful when checking for unquote in repl eval.
Chris Hanson [Tue, 22 Oct 2019 03:43:19 +0000 (20:43 -0700)]
Be more careful when checking for unquote in repl eval.

5 years agoFurthur improve error reporting for libraries.
Chris Hanson [Mon, 21 Oct 2019 05:37:00 +0000 (22:37 -0700)]
Furthur improve error reporting for libraries.

5 years agoJust have one legacy library: (mit legacy runtime)
Chris Hanson [Sun, 20 Oct 2019 23:33:52 +0000 (16:33 -0700)]
Just have one legacy library: (mit legacy runtime)

Otherwise it's a pain to figure out where all the exports are, since they aren't
necessarily where you might think.

Also, this eliminates deprecated bindings.

5 years agoImprove error reporting for library imports.
Chris Hanson [Sun, 20 Oct 2019 20:07:17 +0000 (13:07 -0700)]
Improve error reporting for library imports.

5 years agoFix problem with syntaxing of DO.
Chris Hanson [Sun, 20 Oct 2019 05:41:51 +0000 (22:41 -0700)]
Fix problem with syntaxing of DO.

This wouldn't work correctly in some weird edge cases.  Specifically, it was
trying to detect the 'else and '=> keywords, but comparing them in the syntactic
environment outside of the DO, not the one inside of it.  Fixed by rewriting the
macro to defer the cond-clause processing until the interior environment was
available.

5 years agoFix typo in earlier change.
Chris Hanson [Sun, 20 Oct 2019 05:20:19 +0000 (22:20 -0700)]
Fix typo in earlier change.

5 years agoAdd printer for bytevectors and limit printing of vectors.
Chris Hanson [Mon, 7 Oct 2019 05:10:28 +0000 (01:10 -0400)]
Add printer for bytevectors and limit printing of vectors.

5 years agoChange debug printer to print vectors correctly.
Chris Hanson [Mon, 7 Oct 2019 04:34:47 +0000 (00:34 -0400)]
Change debug printer to print vectors correctly.

5 years agoFix cold-load problems when cross-compiling from 10.1.10.
Chris Hanson [Mon, 7 Oct 2019 04:34:26 +0000 (00:34 -0400)]
Fix cold-load problems when cross-compiling from 10.1.10.

5 years agoA reader has alerted me to a caveat about IEEE 754 min/max.
Taylor R Campbell [Thu, 3 Oct 2019 16:23:03 +0000 (16:23 +0000)]
A reader has alerted me to a caveat about IEEE 754 min/max.

5 years agoFix bugs in min/max on signalling NaN inputs.
Taylor R Campbell [Thu, 3 Oct 2019 15:39:13 +0000 (15:39 +0000)]
Fix bugs in min/max on signalling NaN inputs.