Chris Hanson [Thu, 12 Jan 2017 08:25:44 +0000 (00:25 -0800)]
Change write-string to match R7RS.
Chris Hanson [Thu, 12 Jan 2017 08:19:47 +0000 (00:19 -0800)]
Fix incorrect caller names.
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
Chris Hanson [Thu, 12 Jan 2017 07:56:46 +0000 (23:56 -0800)]
Finish cleaning up I/O chapter.
Chris Hanson [Thu, 12 Jan 2017 06:27:03 +0000 (22:27 -0800)]
Fix up references to fluid-let variables.
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.
Arthur A. Gleckler [Thu, 12 Jan 2017 05:14:49 +0000 (21:14 -0800)]
Fix: examples were swapped.
Chris Hanson [Thu, 12 Jan 2017 00:41:57 +0000 (16:41 -0800)]
Formatting changes from Texinfo command.
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.
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
Chris Hanson [Wed, 11 Jan 2017 20:09:59 +0000 (12:09 -0800)]
Fix bug: STRING_P was being passed arguments with side effects.
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.
Chris Hanson [Wed, 11 Jan 2017 08:14:34 +0000 (00:14 -0800)]
Fix code that looks for default STAGE0 to check /usr/local.
Chris Hanson [Wed, 11 Jan 2017 07:47:05 +0000 (23:47 -0800)]
A huge round of name normalizations and some simplifications.
Chris Hanson [Wed, 11 Jan 2017 06:47:17 +0000 (22:47 -0800)]
Change textual-port-type to be defined with define-record-type.
Chris Hanson [Wed, 11 Jan 2017 06:45:47 +0000 (22:45 -0800)]
Change textual-port unparser method to be more standard.
Chris Hanson [Wed, 11 Jan 2017 06:45:28 +0000 (22:45 -0800)]
Delete commented-out init code.
Chris Hanson [Wed, 11 Jan 2017 06:44:04 +0000 (22:44 -0800)]
Add unparser method to binary ports.
Chris Hanson [Wed, 11 Jan 2017 06:32:51 +0000 (22:32 -0800)]
Another round of cleanups and renames designed to simplify ports.
Chris Hanson [Wed, 11 Jan 2017 05:31:32 +0000 (21:31 -0800)]
Implement {input,output}-port-channel.
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.
Chris Hanson [Wed, 11 Jan 2017 05:27:51 +0000 (21:27 -0800)]
Fix incorrect type checks in flush-output-port.
Chris Hanson [Wed, 11 Jan 2017 05:14:19 +0000 (21:14 -0800)]
Initial tests for binary ports.
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.
Chris Hanson [Wed, 11 Jan 2017 05:12:51 +0000 (21:12 -0800)]
Rename source/sink custom operations for export.
Chris Hanson [Wed, 11 Jan 2017 05:11:58 +0000 (21:11 -0800)]
Replace use of port/%FOO with port/FOO.
Chris Hanson [Wed, 11 Jan 2017 03:36:50 +0000 (19:36 -0800)]
The binary-XXX-port? procedures aren't public.
Chris Hanson [Wed, 11 Jan 2017 03:36:33 +0000 (19:36 -0800)]
Fix bugs exposed by testing.
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.
Chris Hanson [Mon, 9 Jan 2017 03:34:07 +0000 (19:34 -0800)]
Implement support for converting legacy strings to bytevectors.
Chris Hanson [Mon, 9 Jan 2017 01:22:13 +0000 (17:22 -0800)]
Tweak pagination.
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.
Chris Hanson [Sun, 8 Jan 2017 21:53:33 +0000 (13:53 -0800)]
Add dir-local variables for pagination and tweak one instance.
Chris Hanson [Sun, 8 Jan 2017 21:47:23 +0000 (13:47 -0800)]
Eliminate all runtime support for external strings.
Chris Hanson [Sun, 8 Jan 2017 21:31:56 +0000 (13:31 -0800)]
Eliminate use of external strings in Edwin.
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.
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.
Chris Hanson [Sun, 8 Jan 2017 06:53:16 +0000 (22:53 -0800)]
Add basic tests for predicate dispatchers. More to come.
Chris Hanson [Sun, 8 Jan 2017 06:43:41 +0000 (22:43 -0800)]
Rename tagging to predicate-tagging to clarify its purpose.
Chris Hanson [Sun, 8 Jan 2017 06:39:41 +0000 (22:39 -0800)]
Implement predicate dispatching (generics using predicates).
Chris Hanson [Sun, 8 Jan 2017 06:29:55 +0000 (22:29 -0800)]
Always register a record predicate.
Chris Hanson [Sun, 8 Jan 2017 05:30:05 +0000 (21:30 -0800)]
Register record-type predicates.
Chris Hanson [Sun, 8 Jan 2017 04:16:13 +0000 (20:16 -0800)]
First draft of predicate tagging support.
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.)
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.
Chris Hanson [Sat, 7 Jan 2017 09:19:48 +0000 (01:19 -0800)]
Implement bytevector-fill! and change arg order to match R7Rs.
Chris Hanson [Sat, 7 Jan 2017 09:10:36 +0000 (01:10 -0800)]
Test shift right/left using bytevector-copy!.
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.
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.
Chris Hanson [Sat, 7 Jan 2017 04:13:22 +0000 (20:13 -0800)]
Fix fencepost errors in start indexes.
Chris Hanson [Sat, 7 Jan 2017 03:57:00 +0000 (19:57 -0800)]
Implement bytevector=? and add bytevector support to equal?.
Chris Hanson [Sat, 7 Jan 2017 03:48:42 +0000 (19:48 -0800)]
Add boilerplate to new tests.
Chris Hanson [Sat, 7 Jan 2017 03:46:07 +0000 (19:46 -0800)]
Add tests for predicates.
Chris Hanson [Sat, 7 Jan 2017 03:45:41 +0000 (19:45 -0800)]
Enhance test framework with some useful utilities.
Chris Hanson [Sat, 7 Jan 2017 03:44:44 +0000 (19:44 -0800)]
Fix name change missed by previous edit.
Chris Hanson [Sat, 7 Jan 2017 03:37:02 +0000 (19:37 -0800)]
Add missing initialization.
Chris Hanson [Fri, 6 Jan 2017 21:53:04 +0000 (13:53 -0800)]
Register parameter-binding?.
Chris Hanson [Fri, 6 Jan 2017 21:47:41 +0000 (13:47 -0800)]
Implement parametric predicates.
Chris Hanson [Fri, 6 Jan 2017 21:31:10 +0000 (13:31 -0800)]
Implement compound predicates.
Chris Hanson [Fri, 6 Jan 2017 21:29:57 +0000 (13:29 -0800)]
Implement memoizers.
Chris Hanson [Fri, 6 Jan 2017 21:21:42 +0000 (13:21 -0800)]
Fix dangling references to guarantee procedures.
Chris Hanson [Fri, 6 Jan 2017 21:19:33 +0000 (13:19 -0800)]
Register equality-predicate?.
Chris Hanson [Fri, 6 Jan 2017 21:18:40 +0000 (13:18 -0800)]
Check arguments to set-equality-predicate-hasher!.
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<=.
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!.
Chris Hanson [Fri, 6 Jan 2017 19:57:18 +0000 (11:57 -0800)]
Implement unary-procedure? and binary-procedure?.
Chris Hanson [Fri, 6 Jan 2017 19:52:17 +0000 (11:52 -0800)]
Implement non-empty-list?.
Chris Hanson [Fri, 6 Jan 2017 19:51:24 +0000 (11:51 -0800)]
Allow register-predicate! to specify multiple supersets.
Chris Hanson [Fri, 6 Jan 2017 07:39:59 +0000 (23:39 -0800)]
Add some more predicate definitions.
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.
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.
Chris Hanson [Fri, 6 Jan 2017 06:40:31 +0000 (22:40 -0800)]
Tweak boot-init mechanism to only run when necessary.
Also eliminate never-used exports.
Chris Hanson [Fri, 6 Jan 2017 04:03:07 +0000 (20:03 -0800)]
Fix definitions of legal code points.
Chris Hanson [Fri, 6 Jan 2017 03:28:47 +0000 (19:28 -0800)]
Compute tag's description lazily if not given.
Chris Hanson [Fri, 6 Jan 2017 03:23:35 +0000 (19:23 -0800)]
*mplement object-tagger.
Chris Hanson [Fri, 6 Jan 2017 03:20:09 +0000 (19:20 -0800)]
Tweak pagination.
Chris Hanson [Fri, 6 Jan 2017 03:18:44 +0000 (19:18 -0800)]
Change tagged-object to be tagged with a predicate.
Chris Hanson [Fri, 6 Jan 2017 03:13:29 +0000 (19:13 -0800)]
Implement predicate lattice support.
Chris Hanson [Fri, 6 Jan 2017 03:12:13 +0000 (19:12 -0800)]
Tweak.
Chris Hanson [Fri, 6 Jan 2017 01:23:22 +0000 (17:23 -0800)]
Update .gitignore.
Chris Hanson [Fri, 6 Jan 2017 01:22:08 +0000 (17:22 -0800)]
Implement support for predicates.
Chris Hanson [Thu, 5 Jan 2017 21:38:18 +0000 (13:38 -0800)]
Add support for tagged objects.
Chris Hanson [Thu, 5 Jan 2017 21:37:12 +0000 (13:37 -0800)]
Add package comment to bytevector.scm.
Chris Hanson [Thu, 5 Jan 2017 20:46:50 +0000 (12:46 -0800)]
Add open-coding support for bytevectors.
Chris Hanson [Thu, 5 Jan 2017 20:46:42 +0000 (12:46 -0800)]
Fix thinko in previous change.
Chris Hanson [Thu, 5 Jan 2017 20:16:05 +0000 (12:16 -0800)]
Add bytevector primitives to SF transformation rules.
Chris Hanson [Thu, 5 Jan 2017 20:06:25 +0000 (12:06 -0800)]
Implement parsing of bytevectors.
Chris Hanson [Thu, 5 Jan 2017 20:06:15 +0000 (12:06 -0800)]
Implement byte?.
Chris Hanson [Thu, 5 Jan 2017 19:29:12 +0000 (11:29 -0800)]
Implement writing of bytevectors.
Also clean up pagination of unparse.scm.
Chris Hanson [Thu, 5 Jan 2017 19:29:00 +0000 (11:29 -0800)]
Fix thinkos.
Chris Hanson [Thu, 5 Jan 2017 19:07:34 +0000 (11:07 -0800)]
Split TC_BYTEVECTOR from TC_CHARACTER_STRING to simplify transition.
Chris Hanson [Thu, 5 Jan 2017 05:48:22 +0000 (21:48 -0800)]
First draft of runtime support for bytevectors.
Only lightly tested, still needs work.
Chris Hanson [Thu, 5 Jan 2017 05:48:07 +0000 (21:48 -0800)]
Fix some bugs; implement bytevector-fill!.
Chris Hanson [Thu, 5 Jan 2017 00:45:39 +0000 (16:45 -0800)]
Update copyright licenses for new year.
Chris Hanson [Thu, 5 Jan 2017 00:39:09 +0000 (16:39 -0800)]
Eliminate byte_t.
Chris Hanson [Tue, 3 Jan 2017 22:16:16 +0000 (17:16 -0500)]
First draft of bytevector primitives.
Chris Hanson [Tue, 3 Jan 2017 20:48:45 +0000 (15:48 -0500)]
Rename TC_CHARACTER_STRING to TC_BYTEVECTOR and TC_NULL to TC_FALSE.
Chris Hanson [Tue, 3 Jan 2017 20:26:29 +0000 (15:26 -0500)]
Implement tagged-object type, a combination of a tag and an object.
Taylor R Campbell [Mon, 2 Jan 2017 15:46:39 +0000 (15:46 +0000)]
Mark intentionally ignored variables as such.
Daniel White [Mon, 2 Jan 2017 14:20:21 +0000 (23:50 +0930)]
Fix deinstall of multiplexer when a default exists.
This copes with a somewhat subtle case where a default exists but the
last generator is removed. By inverting the checks, we can ensure we
only look at the cdr of the generator list when generators is actually a
pair.
The bug was originally exhibited by an error when removing the last
generator with remove-generic-procedure-generator on a generic procedure
with a default generator.