mit-scheme.git
30 years agoFix typo.
Stephen Adams [Mon, 13 Mar 1995 23:36:44 +0000 (23:36 +0000)]
Fix typo.

30 years agoAdded %compiled-entry? and %compiled-entry-maximum-arity?
Stephen Adams [Mon, 13 Mar 1995 23:25:49 +0000 (23:25 +0000)]
Added %compiled-entry? and %compiled-entry-maximum-arity?

30 years ago*** empty log message ***
Stephen Adams [Mon, 13 Mar 1995 23:23:16 +0000 (23:23 +0000)]
*** empty log message ***

30 years agoDelete old definition of "all" target.
Chris Hanson [Mon, 13 Mar 1995 23:20:46 +0000 (23:20 +0000)]
Delete old definition of "all" target.

30 years agoAdd default target "all". Change references to assembler and to the
Chris Hanson [Mon, 13 Mar 1995 23:18:16 +0000 (23:18 +0000)]
Add default target "all".  Change references to assembler and to the
libraries that it requires -- these files are now assumed to reside in
the "os2utl" subdirectory.

30 years agoAdded fcomp.
Stephen Adams [Mon, 13 Mar 1995 20:59:53 +0000 (20:59 +0000)]
Added fcomp.

30 years agoAdded fcomp.
Stephen Adams [Mon, 13 Mar 1995 20:53:48 +0000 (20:53 +0000)]
Added fcomp.

30 years agoExtended rule for INVOCATION:REGISTER to take continuation.
Stephen Adams [Mon, 13 Mar 1995 07:01:27 +0000 (07:01 +0000)]
Extended rule for INVOCATION:REGISTER to take continuation.

Some time we must figure out whin INVOCATION:REGISTER has five slots
but the other invocations only four.

30 years agoAdded code for %internal-apply-unchecked.
Stephen Adams [Mon, 13 Mar 1995 06:59:28 +0000 (06:59 +0000)]
Added code for %internal-apply-unchecked.

30 years ago*** empty log message ***
Stephen Adams [Mon, 13 Mar 1995 04:33:05 +0000 (04:33 +0000)]
*** empty log message ***

30 years agoFixed free variable.
Stephen Adams [Sun, 12 Mar 1995 16:31:16 +0000 (16:31 +0000)]
Fixed free variable.

30 years agoRemoved some old useless rules.
Stephen Adams [Sun, 12 Mar 1995 16:04:31 +0000 (16:04 +0000)]
Removed some old useless rules.

30 years agoPropagted TAG to FIXED-SELECTION in case we can use it there for a
Stephen Adams [Sun, 12 Mar 1995 15:34:01 +0000 (15:34 +0000)]
Propagted TAG to FIXED-SELECTION in case we can use it there for a
more efficient version of OBJECT->ADDRESS.

30 years agoTidying.
Stephen Adams [Sun, 12 Mar 1995 05:59:29 +0000 (05:59 +0000)]
Tidying.

30 years agoMindless reformatting.
Stephen Adams [Sat, 11 Mar 1995 17:44:22 +0000 (17:44 +0000)]
Mindless reformatting.

30 years agoImproved handling of (CALL (LETREC ...) ...)
Stephen Adams [Sat, 11 Mar 1995 17:09:32 +0000 (17:09 +0000)]
Improved handling of (CALL (LETREC ...) ...)

30 years agoAdded comment about order of names.
Stephen Adams [Sat, 11 Mar 1995 16:01:01 +0000 (16:01 +0000)]
Added comment about order of names.

30 years agoImproved handling of
Stephen Adams [Fri, 10 Mar 1995 14:52:16 +0000 (14:52 +0000)]
Improved handling of

    (call (lambda (cont) (call (lookup foo) (lookup cont) ...))
  (call %make-stack-closure ...))

30 years agoWITH-VALUES -> CALL-WITH-VALUES
Stephen Adams [Fri, 10 Mar 1995 14:44:08 +0000 (14:44 +0000)]
WITH-VALUES -> CALL-WITH-VALUES

30 years agoAdded BIT-STRING-LENGTH to known operators.
Stephen Adams [Thu, 9 Mar 1995 22:15:14 +0000 (22:15 +0000)]
Added BIT-STRING-LENGTH to known operators.

30 years ago"os2top.obj" now depends on "scheme.h".
Chris Hanson [Wed, 8 Mar 1995 21:39:23 +0000 (21:39 +0000)]
"os2top.obj" now depends on "scheme.h".

30 years agoImplement OS/2 stack-overflow detection mechanism. This is a pile of
Chris Hanson [Wed, 8 Mar 1995 21:38:49 +0000 (21:38 +0000)]
Implement OS/2 stack-overflow detection mechanism.  This is a pile of
hair involving some tricky memory management and a little cooperation
from the OS/2 exception handler.  See the code for details.

30 years agoAdd stack hooks for OS/2 stack-overflow detection. Move existing
Chris Hanson [Wed, 8 Mar 1995 21:36:54 +0000 (21:36 +0000)]
Add stack hooks for OS/2 stack-overflow detection.  Move existing
overrides of STACK_RESET macro from "stack.h" to "config.h".  Change
`Stack_Check' macro to use STACK_OVERFLOWED_P macro rather than
comparing the stack pointer to `Stack_Bottom', because OS/2 overrides
this macro with an unusual definition.

30 years agoFixed OFFSET-FITS? to know that LDIL is never assembled as two machine
Stephen Adams [Wed, 8 Mar 1995 14:33:28 +0000 (14:33 +0000)]
Fixed OFFSET-FITS? to know that LDIL is never assembled as two machine
instructionas an is therefore always acceptable in a delay slot.  (The
common cases, e.g. LDIL unspecific,2 were not finding their way into
the delay slot).

30 years agoAdded rule for storing a zero byte.
Stephen Adams [Wed, 8 Mar 1995 13:38:51 +0000 (13:38 +0000)]
Added rule for storing a zero byte.

30 years agoFixed bug in (AND ...) expression
Stephen Adams [Wed, 8 Mar 1995 05:14:24 +0000 (05:14 +0000)]
Fixed bug in (AND ...) expression

30 years agoNow loads sf if necessary.
Stephen Adams [Tue, 7 Mar 1995 22:32:11 +0000 (22:32 +0000)]
Now loads sf if necessary.

30 years agoInitial revision
Stephen Adams [Tue, 7 Mar 1995 22:21:02 +0000 (22:21 +0000)]
Initial revision

30 years agoAdded bit-string-length.
Stephen Adams [Tue, 7 Mar 1995 05:57:24 +0000 (05:57 +0000)]
Added bit-string-length.

30 years agoFix think-o in previous change.
Chris Hanson [Tue, 7 Mar 1995 02:19:20 +0000 (02:19 +0000)]
Fix think-o in previous change.

30 years agoAdd INC and DEC procedures.
Chris Hanson [Mon, 6 Mar 1995 23:32:39 +0000 (23:32 +0000)]
Add INC and DEC procedures.

30 years agoAdd operations required by new edition of SICP.
Chris Hanson [Mon, 6 Mar 1995 23:29:41 +0000 (23:29 +0000)]
Add operations required by new edition of SICP.

30 years agoFix stupid bug in `copy_bits': code to generate mask was doing
Chris Hanson [Mon, 6 Mar 1995 21:45:34 +0000 (21:45 +0000)]
Fix stupid bug in `copy_bits': code to generate mask was doing

    ((1 << 32) - 1)

and expecting something reasonable to happen on a 32-bit machine.

30 years agoReorganize code a little. Add general hook for generating the
Chris Hanson [Sat, 4 Mar 1995 00:39:48 +0000 (00:39 +0000)]
Reorganize code a little.  Add general hook for generating the
"description" of an object.

30 years agoAdd more general hook for unparsing records.
Chris Hanson [Sat, 4 Mar 1995 00:37:55 +0000 (00:37 +0000)]
Add more general hook for unparsing records.

30 years agoImplement MAKE-INITIALIZED-LIST.
Chris Hanson [Fri, 3 Mar 1995 23:40:44 +0000 (23:40 +0000)]
Implement MAKE-INITIALIZED-LIST.

30 years agoFiddled with argument ordering.
Stephen Adams [Thu, 2 Mar 1995 05:41:11 +0000 (05:41 +0000)]
Fiddled with argument ordering.

30 years agoDocumented WT-TREE/UNION-MERGE.
Stephen Adams [Thu, 2 Mar 1995 04:56:36 +0000 (04:56 +0000)]
Documented WT-TREE/UNION-MERGE.

30 years agoExported WT-TREE/UNION-MERGE
Stephen Adams [Wed, 1 Mar 1995 21:58:07 +0000 (21:58 +0000)]
Exported WT-TREE/UNION-MERGE

30 years agoAdded operation
Stephen Adams [Wed, 1 Mar 1995 21:57:17 +0000 (21:57 +0000)]
Added operation

  (WT-TREE/UNION-MERGE merge tree1 tree2)

merge = (lambda (key value1 value2) ...)

30 years agoEdit
Stephen Adams [Wed, 1 Mar 1995 14:09:28 +0000 (14:09 +0000)]
Edit

  simple-operator? => (lambda (op) (simple-operator? op))

to fix loading order problem

30 years agoAmended SIMPLIFY/OPEN-CODE? to take into account that the static
Stephen Adams [Wed, 1 Mar 1995 14:06:55 +0000 (14:06 +0000)]
Amended SIMPLIFY/OPEN-CODE? to take into account that the static
arguments to some cookie calls (e.g. %internal-apply's 'ARITY slot) do
not result in code expansion.

30 years agoInitial revision
Stephen Adams [Wed, 1 Mar 1995 14:02:52 +0000 (14:02 +0000)]
Initial revision

30 years agoRemoved unused 7.3 procedure.
Stephen Adams [Tue, 28 Feb 1995 01:50:05 +0000 (01:50 +0000)]
Removed unused 7.3 procedure.

30 years agoRemove duplicate definition.
Stephen Adams [Tue, 28 Feb 1995 01:46:02 +0000 (01:46 +0000)]
Remove duplicate definition.

30 years agoRemoved duplicate of RTLGEN/HEAP-PUSH!/POST-INCREMENT
Stephen Adams [Tue, 28 Feb 1995 01:44:55 +0000 (01:44 +0000)]
Removed duplicate of RTLGEN/HEAP-PUSH!/POST-INCREMENT

30 years agoRemoved duplicate of SIMPLE-OPERATOR?
Stephen Adams [Tue, 28 Feb 1995 01:42:59 +0000 (01:42 +0000)]
Removed duplicate of SIMPLE-OPERATOR?

30 years agoRemoved some rules for outdated RTL.
Stephen Adams [Tue, 28 Feb 1995 01:40:38 +0000 (01:40 +0000)]
Removed some rules for outdated RTL.

30 years agoFixed free variable bug.
Stephen Adams [Tue, 28 Feb 1995 01:39:12 +0000 (01:39 +0000)]
Fixed free variable bug.

30 years agoAdded lots of procedures from the runtime, including favourites like
Stephen Adams [Tue, 28 Feb 1995 01:36:54 +0000 (01:36 +0000)]
Added lots of procedures from the runtime, including favourites like
APPEND, MAP and FOR-EACH, REVERSE, MEMQ etc.

30 years agoInitial revision
Stephen Adams [Tue, 28 Feb 1995 01:35:31 +0000 (01:35 +0000)]
Initial revision

30 years agoRemoved definitions of PUT and GET so the ones in library.scm are used.
Stephen Adams [Tue, 28 Feb 1995 01:35:10 +0000 (01:35 +0000)]
Removed definitions of PUT and GET so the ones in library.scm are used.

30 years agoInitial revision
Stephen Adams [Tue, 28 Feb 1995 01:29:41 +0000 (01:29 +0000)]
Initial revision

30 years agoMissing dbg-info warning enabled by COMPILER:GURU?
Stephen Adams [Tue, 28 Feb 1995 01:17:31 +0000 (01:17 +0000)]
Missing dbg-info warning enabled by COMPILER:GURU?

30 years agoRemoved dynamic link stuff.
Stephen Adams [Tue, 28 Feb 1995 01:11:46 +0000 (01:11 +0000)]
Removed dynamic link stuff.

30 years agoStatic expressions are now cpsconv/trivial?. The effect is that the
Stephen Adams [Tue, 28 Feb 1995 00:41:04 +0000 (00:41 +0000)]
Static expressions are now cpsconv/trivial?.  The effect is that the
nested LETs for creating read/etc caches are rewritten as one (CALL
(LAMBDA ...) ...) which later gets rewritten as a single LET by
simplify.

30 years agoTidying.
Stephen Adams [Mon, 27 Feb 1995 23:05:55 +0000 (23:05 +0000)]
Tidying.

30 years agoFixed use of wrong variable.
Stephen Adams [Mon, 27 Feb 1995 22:40:58 +0000 (22:40 +0000)]
Fixed use of wrong variable.

30 years agoAdded unary comparisons zero? negative? positive? like &= &< &>
Stephen Adams [Mon, 27 Feb 1995 22:39:39 +0000 (22:39 +0000)]
Added unary comparisons zero? negative? positive? like &= &< &>

30 years agoTweaked with if to make it do the old general cps style for BEGIN
Stephen Adams [Mon, 27 Feb 1995 22:38:15 +0000 (22:38 +0000)]
Tweaked with if to make it do the old general cps style for BEGIN
actions because rtlgen doesnt like (begin (if x x y) ...).  rtlgen
should be fixed too.

30 years agoMade noise message conditional on COMPILER:GURU?
Stephen Adams [Mon, 27 Feb 1995 21:33:26 +0000 (21:33 +0000)]
Made noise message conditional on COMPILER:GURU?

30 years agoTweaked with (IF <simple> <conseq> <alt>)
Stephen Adams [Mon, 27 Feb 1995 17:33:45 +0000 (17:33 +0000)]
Tweaked with (IF <simple> <conseq> <alt>)

30 years agoChanged handling of IF and NOT:
Stephen Adams [Mon, 27 Feb 1995 16:30:56 +0000 (16:30 +0000)]
Changed handling of IF and NOT:

For IF: now strips NOTs before & after cleaning up the predicate.
For NOT: (NOT (IF p c a)) => (IF p (NOT c) (NOT a))
 when one or more of c & a is an operator for which the NOT will be
 compiled out.

30 years agoAdded rewrite (IF p p #F) ==> p for simple & side effect free p.
Stephen Adams [Sun, 26 Feb 1995 16:35:19 +0000 (16:35 +0000)]
Added rewrite  (IF p p #F) ==> p  for simple & side effect free p.

This catches those nasty little `diamonds' produced in both earlyrew
and laterew for code such as (&+ x x).

30 years agoOpen coded (NOT x) as (IF x #F #T).
Stephen Adams [Sun, 26 Feb 1995 16:28:48 +0000 (16:28 +0000)]
Open coded (NOT x) as (IF x #F #T).

In all likelihood any NOTs left at this stage are in value expressions
(as opposed to predicates) and this rewrite prevents nastiness when X
is a predicate, as in
(lambda (x y) (<= x y))
which is
(lambda (x y) (not (&> x y)))
This rewrite forces the coercion from predicate to value up to the
whole body.

30 years agoRemoved open-coding of tiny procedures comprising only known
Stephen Adams [Sun, 26 Feb 1995 14:59:03 +0000 (14:59 +0000)]
Removed open-coding of tiny procedures comprising only known
operators.  It is a bad idea to do this early as hand coded loop
invariants get substituted back into loops.

This should be added back but with a parameter, so we can have
aggressive inlining if the user wants it, or if there is a
declaration.

30 years agoGuarantee that the floating-point register stack is empty when moving
Chris Hanson [Sun, 26 Feb 1995 03:34:36 +0000 (03:34 +0000)]
Guarantee that the floating-point register stack is empty when moving
from C to Scheme and vice-versa.  This appears to fix a floating-point
stack overflow exception that has been observed under unix and OS/2.

30 years agoLots of changes to generalize this code for OS/2 and Windows.
Chris Hanson [Fri, 24 Feb 1995 00:38:28 +0000 (00:38 +0000)]
Lots of changes to generalize this code for OS/2 and Windows.

30 years agoLots of changes to generalize this code for OS/2 and Windows.
Chris Hanson [Fri, 24 Feb 1995 00:37:51 +0000 (00:37 +0000)]
Lots of changes to generalize this code for OS/2 and Windows.

30 years agoAdd some extra screen-manipulation procedures, one of which is needed
Chris Hanson [Fri, 24 Feb 1995 00:36:53 +0000 (00:36 +0000)]
Add some extra screen-manipulation procedures, one of which is needed
by the 6.001 support to allow a Scheme program to activate an editor
screen.

30 years agoFinal round of changes to get 6.001 images working right.
Chris Hanson [Fri, 24 Feb 1995 00:35:44 +0000 (00:35 +0000)]
Final round of changes to get 6.001 images working right.

30 years agoPut normalization case into CANONICALIZE-C-TYPE.
Chris Hanson [Fri, 24 Feb 1995 00:34:46 +0000 (00:34 +0000)]
Put normalization case into CANONICALIZE-C-TYPE.

30 years agoDon't beep when ignoring evaluation environment -- it's too annoying.
Chris Hanson [Fri, 24 Feb 1995 00:30:27 +0000 (00:30 +0000)]
Don't beep when ignoring evaluation environment -- it's too annoying.

30 years agoAdded a useful tip under integration declarations.
Stephen Adams [Thu, 23 Feb 1995 13:58:12 +0000 (13:58 +0000)]
Added a useful tip under integration declarations.

30 years agoMismatched paren.
Stephen Adams [Wed, 22 Feb 1995 13:37:04 +0000 (13:37 +0000)]
Mismatched paren.

30 years agoForm predicates now know that a BEGIN with DECLAREs followed by
Stephen Adams [Wed, 22 Feb 1995 05:50:15 +0000 (05:50 +0000)]
Form predicates now know that a BEGIN with DECLAREs followed by
expression should be treated like the expression.

30 years agoAdded %internal-apply-unchecked
Stephen Adams [Wed, 22 Feb 1995 05:32:50 +0000 (05:32 +0000)]
Added %internal-apply-unchecked

30 years agoFixed so that internal declarations are not lost.
Stephen Adams [Wed, 22 Feb 1995 04:09:20 +0000 (04:09 +0000)]
Fixed so that internal declarations are not lost.

30 years agoNo longer need to import most image procedures since they are in the
Chris Hanson [Tue, 21 Feb 1995 23:28:04 +0000 (23:28 +0000)]
No longer need to import most image procedures since they are in the
global environment.

30 years agoChange to reflect changes to graphics type and image support in the
Chris Hanson [Tue, 21 Feb 1995 23:26:40 +0000 (23:26 +0000)]
Change to reflect changes to graphics type and image support in the
runtime system.

30 years agoChange to use IMAGE/CREATE instead of 'CREATE-IMAGE graphics
Chris Hanson [Tue, 21 Feb 1995 23:23:42 +0000 (23:23 +0000)]
Change to use IMAGE/CREATE instead of 'CREATE-IMAGE graphics
operation.

30 years agoMajor cleanup of this file. Generalization of graphics code to
Chris Hanson [Tue, 21 Feb 1995 23:22:24 +0000 (23:22 +0000)]
Major cleanup of this file.  Generalization of graphics code to
support OS/2.

30 years agoChange IMAGE/CREATE to extract the image type from its device
Chris Hanson [Tue, 21 Feb 1995 23:20:21 +0000 (23:20 +0000)]
Change IMAGE/CREATE to extract the image type from its device
argument.

30 years agoYet another cut at getting backing store and image stuff to work
Chris Hanson [Tue, 21 Feb 1995 23:15:58 +0000 (23:15 +0000)]
Yet another cut at getting backing store and image stuff to work
correctly.  Nearly done now.

30 years agoVarious changes relating to graphics development.
Chris Hanson [Tue, 21 Feb 1995 23:15:33 +0000 (23:15 +0000)]
Various changes relating to graphics development.

30 years agoAdd two new primitives, and export an operation to clobber the window
Chris Hanson [Tue, 21 Feb 1995 23:13:58 +0000 (23:13 +0000)]
Add two new primitives, and export an operation to clobber the window
field of an event -- thus allowing "user" events from graphics windows
to contain the "user" graphics device rather than an internal
descriptor.

30 years agoPut bullet-proofing code into OS2/FILE-TIME->STRING. It turns out
Chris Hanson [Tue, 21 Feb 1995 23:12:47 +0000 (23:12 +0000)]
Put bullet-proofing code into OS2/FILE-TIME->STRING.  It turns out
that CD-ROM root directories have unusual time stamps.

30 years agoSeveral sweeping changes to graphics and image types. Graphics types
Chris Hanson [Tue, 21 Feb 1995 23:11:22 +0000 (23:11 +0000)]
Several sweeping changes to graphics and image types.  Graphics types
now have their names associated with them so that code can dispatch on
the name.  Each image type is now associated with a particular
graphics type, so that it is possible to get the image type given a
graphics type.  New procedures GRAPHICS-TYPE and IMAGE-TYPE provide
very general ways to get pointers to such types.  New procedure
GRAPHICS-TYPE-NAME gets the name of a graphics type.

These changes necessitated some changes in the interface to the
graphics type definitions.  In particular, there's no longer a
procedure to register a graphics type's name, and also the procedure
to construct a graphics type now accepts an additional argument, which
is the name.

30 years agoNew file "os2ctype.scm".
Chris Hanson [Tue, 21 Feb 1995 23:01:09 +0000 (23:01 +0000)]
New file "os2ctype.scm".

30 years agoInitial revision
Chris Hanson [Tue, 21 Feb 1995 23:00:42 +0000 (23:00 +0000)]
Initial revision

30 years agoLimit initial width of console window to 80 characters.
Chris Hanson [Tue, 21 Feb 1995 22:55:42 +0000 (22:55 +0000)]
Limit initial width of console window to 80 characters.

30 years agoAdd new primitive OS2PS-GET-BITMAP and OS2PM-SYNCHRONIZE. Fix some
Chris Hanson [Tue, 21 Feb 1995 22:54:30 +0000 (22:54 +0000)]
Add new primitive OS2PS-GET-BITMAP and OS2PM-SYNCHRONIZE.  Fix some
minor bugs in OS2PS-GET-BITMAP-PARAMETERS.

30 years agoImproved ANDIFY
Stephen Adams [Tue, 21 Feb 1995 21:19:28 +0000 (21:19 +0000)]
Improved ANDIFY

30 years agoAdded constant folding. For now we just do it for the generic
Stephen Adams [Tue, 21 Feb 1995 06:33:13 +0000 (06:33 +0000)]
Added constant folding.  For now we just do it for the generic
arithmetic.  We need to figure out a general and efficient way to do
operations safely so that we can either defer the operation until run
time or compile it into code that signals an error.

30 years ago . Changed EARLYREW/NUMBER? -> FORM/NUMBER?
Stephen Adams [Tue, 21 Feb 1995 06:27:08 +0000 (06:27 +0000)]
 . Changed EARLYREW/NUMBER? -> FORM/NUMBER?
 . Improved careful arithmetic to compile into a call the out of line
   generic operation rather than signalling an error during compilation.

30 years agoChanged cellified SET! code to use a new name to maintain alpha-conversion.
Stephen Adams [Tue, 21 Feb 1995 06:20:05 +0000 (06:20 +0000)]
Changed cellified SET! code to use a new name to maintain alpha-conversion.

30 years agoChanged LATEREW/NUMBER? to FORM/NUMBER? and tidied a few expression.
Stephen Adams [Tue, 21 Feb 1995 05:32:05 +0000 (05:32 +0000)]
Changed LATEREW/NUMBER? to FORM/NUMBER? and tidied a few expression.

30 years agoILLEGAL calls NO-LONGER-LEGAL if the form is a KMP form.
Stephen Adams [Mon, 20 Feb 1995 20:48:53 +0000 (20:48 +0000)]
ILLEGAL calls NO-LONGER-LEGAL if the form is a KMP form.
Most phases can now call ILLEGAL instead of choosing between the two.

30 years agoAdded FORM/NUMBER? and diddled with careful operators stuff.
Stephen Adams [Mon, 20 Feb 1995 20:13:39 +0000 (20:13 +0000)]
Added FORM/NUMBER? and diddled with careful operators stuff.

30 years agoChanged the careful operations to return the `mapped' result or #F.
Stephen Adams [Mon, 20 Feb 1995 18:24:41 +0000 (18:24 +0000)]
Changed the careful operations to return the `mapped' result or #F.
UNMAP-CAREFUL should be used to get the real result.