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.
Taylor R Campbell [Mon, 2 Jan 2017 15:41:20 +0000 (15:41 +0000)]
Allow user to use external toolchain with TOOLCHAIN make variable.
Chris Hanson [Tue, 13 Dec 2016 06:09:16 +0000 (22:09 -0800)]
Simplify mechanism to customize PP description for records.
Also extend to entities with record "extra".
Matt Birkholz [Wed, 23 Nov 2016 20:10:36 +0000 (13:10 -0700)]
x11/x11-base.scm (key-event): typo. Fix Alt-Backspace -> #\M-DEL.
Matt Birkholz [Wed, 23 Nov 2016 17:45:54 +0000 (10:45 -0700)]
x11 (event-name): Rename event-type-name and export (for debugging).
Matt Birkholz [Wed, 23 Nov 2016 17:38:21 +0000 (10:38 -0700)]
microcode (OS_test_select_registry): Check for subprocess status
changes when !blockp and the registry is empty. This is most easily
done in OS_pause, where OS_process_any_status_change (if any) is
available. Thus OS_pause gets a new param BLOCKP.
Matt Birkholz [Thu, 17 Nov 2016 23:28:40 +0000 (16:28 -0700)]
x11 plugin: Address warnings from new AM_CFLAGS.
Matt Birkholz [Thu, 17 Nov 2016 22:12:20 +0000 (15:12 -0700)]
runtime/thread.scm (handle-current-thread-events): Do not warn...
...on stderr when there is no current thread. Handle-current-thread-
events is only used by the after-gc-interrupt-handler, which may run
while there is no current thread.
Matt Birkholz [Thu, 17 Nov 2016 22:11:22 +0000 (15:11 -0700)]
plugin Makefile.ams, configure.acs (AM_CFLAGS): Add many -W options.
Matt Birkholz [Sat, 12 Nov 2016 23:53:50 +0000 (16:53 -0700)]
plugin Makefile.ams, configure.acs: Do not install .bins.
Matt Birkholz [Thu, 10 Nov 2016 07:17:43 +0000 (00:17 -0700)]
x11 plugin: Rename files to avoid conflicts with LIAR/C's output.
Matt Birkholz [Thu, 10 Nov 2016 05:26:36 +0000 (22:26 -0700)]
plugin Makefile.ams, configure.acs: Accommodate LIAR/C.
Generate lists of Scheme source and binary files depending on the
host's compiled code type.
Matt Birkholz [Thu, 10 Nov 2016 00:15:36 +0000 (17:15 -0700)]
Search the library directory path for the standard library directory
containing lib/ and the built-in object files. Adjust pathname->
standard-uri and standard-uri->pathname to use this directory instead
of the first directory in the path.
When plugins used --prepend-library to test a shared object, C worlds
failed. They could not re-load registered object files, nor load
bundled options. The guarded-system-loader only looked in the first
directory in the path, not the standard library directory.
Matt Birkholz [Mon, 7 Nov 2016 20:57:26 +0000 (13:57 -0700)]
Remove src/etc/compile-svm.sh after losing cross runtime compat.
Matt Birkholz [Mon, 7 Nov 2016 20:55:18 +0000 (13:55 -0700)]
Remove more kludges now that 9.2 is out.
Taylor R Campbell [Sat, 5 Nov 2016 00:42:27 +0000 (00:42 +0000)]
Fix embarrassing typo in wttree overweight condition.
Evidently we don't have adequate automatic tests for this!
Taylor R Campbell [Thu, 3 Nov 2016 16:31:25 +0000 (16:31 +0000)]
Don't delete the one non-generated .c file under compiler/.
Taylor R Campbell [Thu, 3 Nov 2016 20:17:32 +0000 (20:17 +0000)]
Add option for interpreted toolchain to facilitate debugging.
Taylor R Campbell [Thu, 3 Nov 2016 19:34:52 +0000 (19:34 +0000)]
Fix fencepost in decoding powers of two into IEEE 754 components.
Taylor R Campbell [Thu, 3 Nov 2016 04:54:35 +0000 (04:54 +0000)]
Disable init file in batch mode.
Taylor R Campbell [Thu, 3 Nov 2016 00:41:44 +0000 (00:41 +0000)]
Remove bogus kludge of including target runtime in cross-compiler.
Now that 9.2 is out, whatever reason necessitated this kludge is no
longer relevant.
Chris Hanson [Tue, 30 Aug 2016 00:30:09 +0000 (17:30 -0700)]
Add notes on parameter refactor, for use when writing release notes.
Matt Birkholz [Sat, 27 Aug 2016 16:14:13 +0000 (09:14 -0700)]
Edwin X/X11: Do NOT halt screen update because of subprocess output.
Matt Birkholz [Fri, 12 Aug 2016 20:16:37 +0000 (13:16 -0700)]
x11/x11base.scm (make-event-object): Convert bit number to bit mask.
Matt Birkholz [Tue, 9 Aug 2016 20:30:39 +0000 (13:30 -0700)]
x11-screen: Backport elimination of keyboard busy loop.
Matt Birkholz [Tue, 9 Aug 2016 19:52:49 +0000 (12:52 -0700)]
runtime/thread.scm (register-time-event): typo
Matt Birkholz [Tue, 9 Aug 2016 17:59:01 +0000 (10:59 -0700)]
edwin/xterm.scm (get-xterm-input-operations): Eliminate busy loop.
The busy loop in the keyboard peek-no-hang operation is more expensive
than ever. Replace it with a timer in block-for-event. Cache
current-thread and check that it has not changed before deregistering.
Matt Birkholz [Sun, 7 Aug 2016 21:43:02 +0000 (14:43 -0700)]
Add register-time-event, deregister-time-event.