mit-scheme.git
30 years agoFixed so that it no longer tries to coerce bindings of known lambdas
Stephen Adams [Sat, 25 Mar 1995 16:02:55 +0000 (16:02 +0000)]
Fixed so that it no longer tries to coerce bindings of known lambdas
(which will later be lambda-lifted).

30 years agoChanged to be much smarter about where the coercion code should be
Stephen Adams [Thu, 23 Mar 1995 04:17:10 +0000 (04:17 +0000)]
Changed to be much smarter about where the coercion code should be
inserted.  Removed comments saying how dumb it was.

30 years agoAdded missing cookie-call forms.
Stephen Adams [Wed, 22 Mar 1995 01:08:13 +0000 (01:08 +0000)]
Added missing cookie-call forms.

30 years agoAdded code to improve code where it is known that all the values are
Stephen Adams [Wed, 22 Mar 1995 01:06:49 +0000 (01:06 +0000)]
Added code to improve code where it is known that all the values are
procedures, or all procedures with the same maximum arity.

30 years agoChanges to get bchscheme running under OS/2.
Chris Hanson [Tue, 21 Mar 1995 22:13:56 +0000 (22:13 +0000)]
Changes to get bchscheme running under OS/2.

30 years agoAdded code to change %internal-apply to %internal-apply-unchecked when
Stephen Adams [Tue, 21 Mar 1995 18:14:12 +0000 (18:14 +0000)]
Added code to change %internal-apply to %internal-apply-unchecked when
all values are known to be operators with the correct arity.

30 years agoAdd new primitive to scan Scheme's memory usage.
Chris Hanson [Tue, 21 Mar 1995 01:05:22 +0000 (01:05 +0000)]
Add new primitive to scan Scheme's memory usage.

30 years agoAdd expansion for INTERN -- just like that for STRING->SYMBOL.
Chris Hanson [Mon, 20 Mar 1995 23:29:00 +0000 (23:29 +0000)]
Add expansion for INTERN -- just like that for STRING->SYMBOL.

30 years agoChanged PA to print primitive documentation rather than signal an
Stephen Adams [Mon, 20 Mar 1995 20:14:10 +0000 (20:14 +0000)]
Changed PA to print primitive documentation rather than signal an
error when given a primitive procedure.

30 years agoInitial revision
Stephen Adams [Mon, 20 Mar 1995 02:44:31 +0000 (02:44 +0000)]
Initial revision

30 years agoModified to treat %internal-apply-unchecked like %internal-apply.
Stephen Adams [Mon, 20 Mar 1995 02:02:02 +0000 (02:02 +0000)]
Modified to treat %internal-apply-unchecked like %internal-apply.

30 years agoAdded INVOCATION:REGISTER as an invocation that cares about its
Stephen Adams [Sat, 18 Mar 1995 15:09:27 +0000 (15:09 +0000)]
Added INVOCATION:REGISTER as an invocation that cares about its
continuation now that %internal-apply-unchecked can generate
INVOCATION:REGISTER with a continuation (symmetric to INVOCATION:NEW-APPLY).

30 years agoThe result of OBJECT->TYPE may be preserved.
Stephen Adams [Sat, 18 Mar 1995 14:38:59 +0000 (14:38 +0000)]
The result of OBJECT->TYPE may be preserved.

30 years ago*** empty log message ***
Stephen Adams [Fri, 17 Mar 1995 03:46:53 +0000 (03:46 +0000)]
*** empty log message ***

30 years ago*** empty log message ***
Stephen Adams [Thu, 16 Mar 1995 05:52:05 +0000 (05:52 +0000)]
*** empty log message ***

30 years agoAdded rule to prevent tagging of a byte with 0.
Stephen Adams [Thu, 16 Mar 1995 05:27:46 +0000 (05:27 +0000)]
Added rule to prevent tagging of a byte with 0.

30 years agoRemoved lots of commented out old code.
Stephen Adams [Thu, 16 Mar 1995 04:36:29 +0000 (04:36 +0000)]
Removed lots of commented out old code.

30 years agoOpen coding of %compiled-entry-maximum-arity? only needs to take
Stephen Adams [Wed, 15 Mar 1995 01:08:51 +0000 (01:08 +0000)]
Open coding of %compiled-entry-maximum-arity? only needs to take
object-address when entries are tagged.

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.