mit-scheme.git
7 years agoImplement get-keyword-values.
Chris Hanson [Tue, 17 Jan 2017 21:16:18 +0000 (13:16 -0800)]
Implement get-keyword-values.

7 years agoImplement predicate-tagging strategies.
Chris Hanson [Tue, 17 Jan 2017 21:07:19 +0000 (13:07 -0800)]
Implement predicate-tagging strategies.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Mon, 16 Jan 2017 09:52:19 +0000 (01:52 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoImplement real binary I/O to files.
Chris Hanson [Mon, 16 Jan 2017 09:51:52 +0000 (01:51 -0800)]
Implement real binary I/O to files.

7 years agoRename textual-port-property methods to port-property.
Chris Hanson [Mon, 16 Jan 2017 08:53:48 +0000 (00:53 -0800)]
Rename textual-port-property methods to port-property.

7 years agoGeneralize textual port operations to handle binary ports.
Chris Hanson [Mon, 16 Jan 2017 08:50:43 +0000 (00:50 -0800)]
Generalize textual port operations to handle binary ports.

7 years agoGeneralize metadata tables to support intern!.
Chris Hanson [Mon, 16 Jan 2017 08:22:43 +0000 (00:22 -0800)]
Generalize metadata tables to support intern!.

Also generalize the get method to accept an optional value.

7 years agoInitialize (runtime lambda-abstraction) before (runtime hash-table)
Matt Birkholz [Fri, 13 Jan 2017 20:51:46 +0000 (13:51 -0700)]
Initialize (runtime lambda-abstraction) before (runtime hash-table)

so that the latter can initialize in an interpreted system (at
cross-compile end).  Its initialization uses set-equality-predicate-
hasher! which calls guarantee with binary-procedure? which needs
&lambda-components when the given procedure is not compiled.

7 years agomicrocode/svm1-interp.c: typo
Matt Birkholz [Fri, 13 Jan 2017 20:14:28 +0000 (13:14 -0700)]
microcode/svm1-interp.c: typo

7 years agoRename all binary I/O procedures to "legacy".
Chris Hanson [Fri, 13 Jan 2017 20:11:00 +0000 (12:11 -0800)]
Rename all binary I/O procedures to "legacy".

7 years agoMark up runtime.pkg to identify a bunch of deprecated bindings.
Chris Hanson [Fri, 13 Jan 2017 09:42:42 +0000 (01:42 -0800)]
Mark up runtime.pkg to identify a bunch of deprecated bindings.

The majority of these are guarantee-FOO procedures that are now obsolete.

7 years agoEliminate use of deprecated guarantee-FOO-port procedures.
Chris Hanson [Fri, 13 Jan 2017 09:04:41 +0000 (01:04 -0800)]
Eliminate use of deprecated guarantee-FOO-port procedures.

7 years agoAdd tests for bytevector output, and fix some bugs in write-bytevector.
Chris Hanson [Fri, 13 Jan 2017 08:51:13 +0000 (00:51 -0800)]
Add tests for bytevector output, and fix some bugs in write-bytevector.

7 years agoFix bug: get-output-bytevector must flush the buffer.
Chris Hanson [Fri, 13 Jan 2017 08:50:19 +0000 (00:50 -0800)]
Fix bug: get-output-bytevector must flush the buffer.

Actually this is kind of a bug: output to bytevectors shouldn't be buffered at
all.

7 years agoEliminate guarantee-X.
Chris Hanson [Fri, 13 Jan 2017 08:38:57 +0000 (00:38 -0800)]
Eliminate guarantee-X.

7 years agoFix bug: guarantee-X doesn't return a useful value when compiled with 9.2.
Chris Hanson [Fri, 13 Jan 2017 08:37:18 +0000 (00:37 -0800)]
Fix bug: guarantee-X doesn't return a useful value when compiled with 9.2.

7 years agoFix bug: guarantee-X doesn't return a useful value when compiled with 9.2.
Chris Hanson [Fri, 13 Jan 2017 00:30:36 +0000 (16:30 -0800)]
Fix bug: guarantee-X doesn't return a useful value when compiled with 9.2.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Fri, 13 Jan 2017 00:18:23 +0000 (16:18 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoSuppress microcode error reports during tests.
Matt Birkholz [Thu, 12 Jan 2017 22:12:10 +0000 (15:12 -0700)]
Suppress microcode error reports during tests.

Many such reports clutter `make check's output when the mirocode was
built with --enable-debugging.

7 years agox11 plugin: Fix handling of property-notify events from unknown windows.
Matt Birkholz [Thu, 12 Jan 2017 22:09:54 +0000 (15:09 -0700)]
x11 plugin: Fix handling of property-notify events from unknown windows.

7 years agoFix name of channel operation in textual-input-port-channel.
Matt Birkholz [Thu, 12 Jan 2017 22:07:10 +0000 (15:07 -0700)]
Fix name of channel operation in textual-input-port-channel.

And textual-output-port-channel.

7 years agoFix other references to the old flonum-unparser-cutoff.
Matt Birkholz [Thu, 12 Jan 2017 22:05:14 +0000 (15:05 -0700)]
Fix other references to the old flonum-unparser-cutoff.

7 years agoEliminate unnecessary integrate-external declaration.
Chris Hanson [Thu, 12 Jan 2017 20:11:31 +0000 (12:11 -0800)]
Eliminate unnecessary integrate-external declaration.

7 years agoFix missed parameterization reference.
Chris Hanson [Thu, 12 Jan 2017 19:54:31 +0000 (11:54 -0800)]
Fix missed parameterization reference.

7 years agoEliminate use of read-substring! in favor of read-string!.
Chris Hanson [Thu, 12 Jan 2017 09:37:19 +0000 (01:37 -0800)]
Eliminate use of read-substring! in favor of read-string!.

7 years agoUpdate calls of read-string to read-delimited-string.
Chris Hanson [Thu, 12 Jan 2017 09:30:15 +0000 (01:30 -0800)]
Update calls of read-string to read-delimited-string.

7 years agoAnother round of I/O documentation changes.
Chris Hanson [Thu, 12 Jan 2017 09:23:12 +0000 (01:23 -0800)]
Another round of I/O documentation changes.

7 years agoAdd aliases for write-shared and write-simple.
Chris Hanson [Thu, 12 Jan 2017 09:02:33 +0000 (01:02 -0800)]
Add aliases for write-shared and write-simple.

This is in lieu of a correct implementation.

7 years agoChange read-string to match R7RS.
Chris Hanson [Thu, 12 Jan 2017 08:41:46 +0000 (00:41 -0800)]
Change read-string to match R7RS.

Rename previous definition to read-delimited-string.
Also tweak read-string! to have optional arguments like read-bytevector!.

7 years agoChange write-string to match R7RS.
Chris Hanson [Thu, 12 Jan 2017 08:25:44 +0000 (00:25 -0800)]
Change write-string to match R7RS.

7 years agoFix incorrect caller names.
Chris Hanson [Thu, 12 Jan 2017 08:19:47 +0000 (00:19 -0800)]
Fix incorrect caller names.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Thu, 12 Jan 2017 08:15:22 +0000 (00:15 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoFinish cleaning up I/O chapter.
Chris Hanson [Thu, 12 Jan 2017 07:56:46 +0000 (23:56 -0800)]
Finish cleaning up I/O chapter.

7 years agoFix up references to fluid-let variables.
Chris Hanson [Thu, 12 Jan 2017 06:27:03 +0000 (22:27 -0800)]
Fix up references to fluid-let variables.

7 years agoUpdate reference manual to reflect changes to port implementations.
Chris Hanson [Thu, 12 Jan 2017 06:20:43 +0000 (22:20 -0800)]
Update reference manual to reflect changes to port implementations.

Also more clearly mark procedures that are deprecated.

7 years agoFix: examples were swapped.
Arthur A. Gleckler [Thu, 12 Jan 2017 05:14:49 +0000 (21:14 -0800)]
Fix: examples were swapped.

7 years agoFormatting changes from Texinfo command.
Chris Hanson [Thu, 12 Jan 2017 00:41:57 +0000 (16:41 -0800)]
Formatting changes from Texinfo command.

7 years agoChange port-mode operations to work for all channel ports.
Chris Hanson [Wed, 11 Jan 2017 23:08:43 +0000 (15:08 -0800)]
Change port-mode operations to work for all channel ports.

Also eliminate old names for these operations.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme
Chris Hanson [Wed, 11 Jan 2017 20:11:38 +0000 (12:11 -0800)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mit-scheme

7 years agoFix bug: STRING_P was being passed arguments with side effects.
Chris Hanson [Wed, 11 Jan 2017 20:09:59 +0000 (12:09 -0800)]
Fix bug: STRING_P was being passed arguments with side effects.

7 years agoA bunch of fixes so that the code still builds with the 9.2 compiler.
Chris Hanson [Wed, 11 Jan 2017 09:13:13 +0000 (01:13 -0800)]
A bunch of fixes so that the code still builds with the 9.2 compiler.

7 years agoFix code that looks for default STAGE0 to check /usr/local.
Chris Hanson [Wed, 11 Jan 2017 08:14:34 +0000 (00:14 -0800)]
Fix code that looks for default STAGE0 to check /usr/local.

7 years agoA huge round of name normalizations and some simplifications.
Chris Hanson [Wed, 11 Jan 2017 07:47:05 +0000 (23:47 -0800)]
A huge round of name normalizations and some simplifications.

7 years agoChange textual-port-type to be defined with define-record-type.
Chris Hanson [Wed, 11 Jan 2017 06:47:17 +0000 (22:47 -0800)]
Change textual-port-type to be defined with define-record-type.

7 years agoChange textual-port unparser method to be more standard.
Chris Hanson [Wed, 11 Jan 2017 06:45:47 +0000 (22:45 -0800)]
Change textual-port unparser method to be more standard.

7 years agoDelete commented-out init code.
Chris Hanson [Wed, 11 Jan 2017 06:45:28 +0000 (22:45 -0800)]
Delete commented-out init code.

7 years agoAdd unparser method to binary ports.
Chris Hanson [Wed, 11 Jan 2017 06:44:04 +0000 (22:44 -0800)]
Add unparser method to binary ports.

7 years agoAnother round of cleanups and renames designed to simplify ports.
Chris Hanson [Wed, 11 Jan 2017 06:32:51 +0000 (22:32 -0800)]
Another round of cleanups and renames designed to simplify ports.

7 years agoImplement {input,output}-port-channel.
Chris Hanson [Wed, 11 Jan 2017 05:31:32 +0000 (21:31 -0800)]
Implement {input,output}-port-channel.

7 years agoTrim type checks from operations that are dispatched.
Chris Hanson [Wed, 11 Jan 2017 05:29:25 +0000 (21:29 -0800)]
Trim type checks from operations that are dispatched.

Also implement channel accessors.

7 years agoFix incorrect type checks in flush-output-port.
Chris Hanson [Wed, 11 Jan 2017 05:27:51 +0000 (21:27 -0800)]
Fix incorrect type checks in flush-output-port.

7 years agoInitial tests for binary ports.
Chris Hanson [Wed, 11 Jan 2017 05:14:19 +0000 (21:14 -0800)]
Initial tests for binary ports.

7 years agoRefactor port operations to be generic where that makes sense.
Chris Hanson [Wed, 11 Jan 2017 05:13:20 +0000 (21:13 -0800)]
Refactor port operations to be generic where that makes sense.

More work remains to clean this up.

7 years agoRename source/sink custom operations for export.
Chris Hanson [Wed, 11 Jan 2017 05:12:51 +0000 (21:12 -0800)]
Rename source/sink custom operations for export.

7 years agoReplace use of port/%FOO with port/FOO.
Chris Hanson [Wed, 11 Jan 2017 05:11:58 +0000 (21:11 -0800)]
Replace use of port/%FOO with port/FOO.

7 years agoThe binary-XXX-port? procedures aren't public.
Chris Hanson [Wed, 11 Jan 2017 03:36:50 +0000 (19:36 -0800)]
The binary-XXX-port? procedures aren't public.

7 years agoFix bugs exposed by testing.
Chris Hanson [Wed, 11 Jan 2017 03:36:33 +0000 (19:36 -0800)]
Fix bugs exposed by testing.

7 years agoImplement binary I/O ports.
Chris Hanson [Wed, 11 Jan 2017 01:18:43 +0000 (17:18 -0800)]
Implement binary I/O ports.

Tests to follow.
Existing ports are all "textual" ports according to R7RS, so some naming needs
to be shuffled around, as well as integration between the two.

7 years agoImplement support for converting legacy strings to bytevectors.
Chris Hanson [Mon, 9 Jan 2017 03:34:07 +0000 (19:34 -0800)]
Implement support for converting legacy strings to bytevectors.

7 years agoTweak pagination.
Chris Hanson [Mon, 9 Jan 2017 01:22:13 +0000 (17:22 -0800)]
Tweak pagination.

7 years agoGeneralize string primitives to accept bytevectors where that makes sense.
Chris Hanson [Sun, 8 Jan 2017 22:08:13 +0000 (14:08 -0800)]
Generalize string primitives to accept bytevectors where that makes sense.

This will be used to support more general strings in the runtime system.

7 years agoAdd dir-local variables for pagination and tweak one instance.
Chris Hanson [Sun, 8 Jan 2017 21:53:33 +0000 (13:53 -0800)]
Add dir-local variables for pagination and tweak one instance.

7 years agoEliminate all runtime support for external strings.
Chris Hanson [Sun, 8 Jan 2017 21:47:23 +0000 (13:47 -0800)]
Eliminate all runtime support for external strings.

7 years agoEliminate use of external strings in Edwin.
Chris Hanson [Sun, 8 Jan 2017 21:31:56 +0000 (13:31 -0800)]
Eliminate use of external strings in Edwin.

7 years agoDelete a large swath of obsolete code.
Chris Hanson [Sun, 8 Jan 2017 20:33:22 +0000 (12:33 -0800)]
Delete a large swath of obsolete code.

Includes all unsupported compiler back ends; pcsample; rcs; sicp; swat; wabbit.

7 years agoMove UTF-8 character encoding into char.scm and share with bytevector.
Chris Hanson [Sun, 8 Jan 2017 07:37:29 +0000 (23:37 -0800)]
Move UTF-8 character encoding into char.scm and share with bytevector.

7 years agoAdd basic tests for predicate dispatchers. More to come.
Chris Hanson [Sun, 8 Jan 2017 06:53:16 +0000 (22:53 -0800)]
Add basic tests for predicate dispatchers.  More to come.

7 years agoRename tagging to predicate-tagging to clarify its purpose.
Chris Hanson [Sun, 8 Jan 2017 06:43:41 +0000 (22:43 -0800)]
Rename tagging to predicate-tagging to clarify its purpose.

7 years agoImplement predicate dispatching (generics using predicates).
Chris Hanson [Sun, 8 Jan 2017 06:39:41 +0000 (22:39 -0800)]
Implement predicate dispatching (generics using predicates).

7 years agoAlways register a record predicate.
Chris Hanson [Sun, 8 Jan 2017 06:29:55 +0000 (22:29 -0800)]
Always register a record predicate.

7 years agoRegister record-type predicates.
Chris Hanson [Sun, 8 Jan 2017 05:30:05 +0000 (21:30 -0800)]
Register record-type predicates.

7 years agoFirst draft of predicate tagging support.
Chris Hanson [Sun, 8 Jan 2017 04:16:13 +0000 (20:16 -0800)]
First draft of predicate tagging support.

7 years agoEliminate use of vector-8b in chrset.scm.
Chris Hanson [Sat, 7 Jan 2017 10:04:41 +0000 (02:04 -0800)]
Eliminate use of vector-8b in chrset.scm.

(Except where needed for microcode compatibility.)

7 years agoEliminate use of vector-8b in char.
Chris Hanson [Sat, 7 Jan 2017 09:54:31 +0000 (01:54 -0800)]
Eliminate use of vector-8b in char.

* Arrange for bytevector to be available early in the cold load.
* Eliminate redundant type-checking on procedures that call char->integer.

7 years agoImplement bytevector-fill! and change arg order to match R7Rs.
Chris Hanson [Sat, 7 Jan 2017 09:19:48 +0000 (01:19 -0800)]
Implement bytevector-fill! and change arg order to match R7Rs.

7 years agoTest shift right/left using bytevector-copy!.
Chris Hanson [Sat, 7 Jan 2017 09:10:36 +0000 (01:10 -0800)]
Test shift right/left using bytevector-copy!.

7 years agoAdd tests for bytevectors.
Chris Hanson [Sat, 7 Jan 2017 04:57:38 +0000 (20:57 -0800)]
Add tests for bytevectors.

Still need to write UTF-8 conversion tests.

7 years agoImplement assert-range-error.
Chris Hanson [Sat, 7 Jan 2017 04:19:45 +0000 (20:19 -0800)]
Implement assert-range-error.

Also rename assert-wta-error to assert-type-error.

7 years agoFix fencepost errors in start indexes.
Chris Hanson [Sat, 7 Jan 2017 04:13:22 +0000 (20:13 -0800)]
Fix fencepost errors in start indexes.

7 years agoImplement bytevector=? and add bytevector support to equal?.
Chris Hanson [Sat, 7 Jan 2017 03:57:00 +0000 (19:57 -0800)]
Implement bytevector=? and add bytevector support to equal?.

7 years agoAdd boilerplate to new tests.
Chris Hanson [Sat, 7 Jan 2017 03:48:42 +0000 (19:48 -0800)]
Add boilerplate to new tests.

7 years agoAdd tests for predicates.
Chris Hanson [Sat, 7 Jan 2017 03:46:07 +0000 (19:46 -0800)]
Add tests for predicates.

7 years agoEnhance test framework with some useful utilities.
Chris Hanson [Sat, 7 Jan 2017 03:45:41 +0000 (19:45 -0800)]
Enhance test framework with some useful utilities.

7 years agoFix name change missed by previous edit.
Chris Hanson [Sat, 7 Jan 2017 03:44:44 +0000 (19:44 -0800)]
Fix name change missed by previous edit.

7 years agoAdd missing initialization.
Chris Hanson [Sat, 7 Jan 2017 03:37:02 +0000 (19:37 -0800)]
Add missing initialization.

7 years agoRegister parameter-binding?.
Chris Hanson [Fri, 6 Jan 2017 21:53:04 +0000 (13:53 -0800)]
Register parameter-binding?.

7 years agoImplement parametric predicates.
Chris Hanson [Fri, 6 Jan 2017 21:47:41 +0000 (13:47 -0800)]
Implement parametric predicates.

7 years agoImplement compound predicates.
Chris Hanson [Fri, 6 Jan 2017 21:31:10 +0000 (13:31 -0800)]
Implement compound predicates.

7 years agoImplement memoizers.
Chris Hanson [Fri, 6 Jan 2017 21:29:57 +0000 (13:29 -0800)]
Implement memoizers.

7 years agoFix dangling references to guarantee procedures.
Chris Hanson [Fri, 6 Jan 2017 21:21:42 +0000 (13:21 -0800)]
Fix dangling references to guarantee procedures.

7 years agoRegister equality-predicate?.
Chris Hanson [Fri, 6 Jan 2017 21:19:33 +0000 (13:19 -0800)]
Register equality-predicate?.

7 years agoCheck arguments to set-equality-predicate-hasher!.
Chris Hanson [Fri, 6 Jan 2017 21:18:40 +0000 (13:18 -0800)]
Check arguments to set-equality-predicate-hasher!.

7 years agoGeneralize procedure-arity-valid? to take an arbitrary arity.
Chris Hanson [Fri, 6 Jan 2017 21:16:06 +0000 (13:16 -0800)]
Generalize procedure-arity-valid? to take an arbitrary arity.

Also provide procedure-arity<=.

7 years agoImplement association between equality predicates and hash procedures.
Chris Hanson [Fri, 6 Jan 2017 20:52:59 +0000 (12:52 -0800)]
Implement association between equality predicates and hash procedures.

Also change hashtb.scm to use add-boot-init!.

7 years agoImplement unary-procedure? and binary-procedure?.
Chris Hanson [Fri, 6 Jan 2017 19:57:18 +0000 (11:57 -0800)]
Implement unary-procedure? and binary-procedure?.

7 years agoImplement non-empty-list?.
Chris Hanson [Fri, 6 Jan 2017 19:52:17 +0000 (11:52 -0800)]
Implement non-empty-list?.

7 years agoAllow register-predicate! to specify multiple supersets.
Chris Hanson [Fri, 6 Jan 2017 19:51:24 +0000 (11:51 -0800)]
Allow register-predicate! to specify multiple supersets.

7 years agoAdd some more predicate definitions.
Chris Hanson [Fri, 6 Jan 2017 07:39:59 +0000 (23:39 -0800)]
Add some more predicate definitions.

7 years agoEliminate boot-load implementation of register-predicate!.
Chris Hanson [Fri, 6 Jan 2017 07:32:46 +0000 (23:32 -0800)]
Eliminate boot-load implementation of register-predicate!.

Not needed now that boot-time registrations are being done manually.

7 years agoChange new files to use boot-init mechanism.
Chris Hanson [Fri, 6 Jan 2017 07:30:39 +0000 (23:30 -0800)]
Change new files to use boot-init mechanism.

Also change to use guarantee, and to register lots of standard predicates.