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).
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.
Stephen Adams [Wed, 22 Mar 1995 01:08:13 +0000 (01:08 +0000)]
Added missing cookie-call forms.
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.
Chris Hanson [Tue, 21 Mar 1995 22:13:56 +0000 (22:13 +0000)]
Changes to get bchscheme running under OS/2.
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.
Chris Hanson [Tue, 21 Mar 1995 01:05:22 +0000 (01:05 +0000)]
Add new primitive to scan Scheme's memory usage.
Chris Hanson [Mon, 20 Mar 1995 23:29:00 +0000 (23:29 +0000)]
Add expansion for INTERN -- just like that for STRING->SYMBOL.
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.
Stephen Adams [Mon, 20 Mar 1995 02:44:31 +0000 (02:44 +0000)]
Initial revision
Stephen Adams [Mon, 20 Mar 1995 02:02:02 +0000 (02:02 +0000)]
Modified to treat %internal-apply-unchecked like %internal-apply.
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).
Stephen Adams [Sat, 18 Mar 1995 14:38:59 +0000 (14:38 +0000)]
The result of OBJECT->TYPE may be preserved.
Stephen Adams [Fri, 17 Mar 1995 03:46:53 +0000 (03:46 +0000)]
*** empty log message ***
Stephen Adams [Thu, 16 Mar 1995 05:52:05 +0000 (05:52 +0000)]
*** empty log message ***
Stephen Adams [Thu, 16 Mar 1995 05:27:46 +0000 (05:27 +0000)]
Added rule to prevent tagging of a byte with 0.
Stephen Adams [Thu, 16 Mar 1995 04:36:29 +0000 (04:36 +0000)]
Removed lots of commented out old code.
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.
Stephen Adams [Mon, 13 Mar 1995 23:36:44 +0000 (23:36 +0000)]
Fix typo.
Stephen Adams [Mon, 13 Mar 1995 23:25:49 +0000 (23:25 +0000)]
Added %compiled-entry? and %compiled-entry-maximum-arity?
Stephen Adams [Mon, 13 Mar 1995 23:23:16 +0000 (23:23 +0000)]
*** empty log message ***
Chris Hanson [Mon, 13 Mar 1995 23:20:46 +0000 (23:20 +0000)]
Delete old definition of "all" target.
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.
Stephen Adams [Mon, 13 Mar 1995 20:59:53 +0000 (20:59 +0000)]
Added fcomp.
Stephen Adams [Mon, 13 Mar 1995 20:53:48 +0000 (20:53 +0000)]
Added fcomp.
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.
Stephen Adams [Mon, 13 Mar 1995 06:59:28 +0000 (06:59 +0000)]
Added code for %internal-apply-unchecked.
Stephen Adams [Mon, 13 Mar 1995 04:33:05 +0000 (04:33 +0000)]
*** empty log message ***
Stephen Adams [Sun, 12 Mar 1995 16:31:16 +0000 (16:31 +0000)]
Fixed free variable.
Stephen Adams [Sun, 12 Mar 1995 16:04:31 +0000 (16:04 +0000)]
Removed some old useless rules.
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.
Stephen Adams [Sun, 12 Mar 1995 05:59:29 +0000 (05:59 +0000)]
Tidying.
Stephen Adams [Sat, 11 Mar 1995 17:44:22 +0000 (17:44 +0000)]
Mindless reformatting.
Stephen Adams [Sat, 11 Mar 1995 17:09:32 +0000 (17:09 +0000)]
Improved handling of (CALL (LETREC ...) ...)
Stephen Adams [Sat, 11 Mar 1995 16:01:01 +0000 (16:01 +0000)]
Added comment about order of names.
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 ...))
Stephen Adams [Fri, 10 Mar 1995 14:44:08 +0000 (14:44 +0000)]
WITH-VALUES -> CALL-WITH-VALUES
Stephen Adams [Thu, 9 Mar 1995 22:15:14 +0000 (22:15 +0000)]
Added BIT-STRING-LENGTH to known operators.
Chris Hanson [Wed, 8 Mar 1995 21:39:23 +0000 (21:39 +0000)]
"os2top.obj" now depends on "scheme.h".
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.
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.
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).
Stephen Adams [Wed, 8 Mar 1995 13:38:51 +0000 (13:38 +0000)]
Added rule for storing a zero byte.
Stephen Adams [Wed, 8 Mar 1995 05:14:24 +0000 (05:14 +0000)]
Fixed bug in (AND ...) expression
Stephen Adams [Tue, 7 Mar 1995 22:32:11 +0000 (22:32 +0000)]
Now loads sf if necessary.
Stephen Adams [Tue, 7 Mar 1995 22:21:02 +0000 (22:21 +0000)]
Initial revision
Stephen Adams [Tue, 7 Mar 1995 05:57:24 +0000 (05:57 +0000)]
Added bit-string-length.
Chris Hanson [Tue, 7 Mar 1995 02:19:20 +0000 (02:19 +0000)]
Fix think-o in previous change.
Chris Hanson [Mon, 6 Mar 1995 23:32:39 +0000 (23:32 +0000)]
Add INC and DEC procedures.
Chris Hanson [Mon, 6 Mar 1995 23:29:41 +0000 (23:29 +0000)]
Add operations required by new edition of SICP.
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.
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.
Chris Hanson [Sat, 4 Mar 1995 00:37:55 +0000 (00:37 +0000)]
Add more general hook for unparsing records.
Chris Hanson [Fri, 3 Mar 1995 23:40:44 +0000 (23:40 +0000)]
Implement MAKE-INITIALIZED-LIST.
Stephen Adams [Thu, 2 Mar 1995 05:41:11 +0000 (05:41 +0000)]
Fiddled with argument ordering.
Stephen Adams [Thu, 2 Mar 1995 04:56:36 +0000 (04:56 +0000)]
Documented WT-TREE/UNION-MERGE.
Stephen Adams [Wed, 1 Mar 1995 21:58:07 +0000 (21:58 +0000)]
Exported WT-TREE/UNION-MERGE
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) ...)
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
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.
Stephen Adams [Wed, 1 Mar 1995 14:02:52 +0000 (14:02 +0000)]
Initial revision
Stephen Adams [Tue, 28 Feb 1995 01:50:05 +0000 (01:50 +0000)]
Removed unused 7.3 procedure.
Stephen Adams [Tue, 28 Feb 1995 01:46:02 +0000 (01:46 +0000)]
Remove duplicate definition.
Stephen Adams [Tue, 28 Feb 1995 01:44:55 +0000 (01:44 +0000)]
Removed duplicate of RTLGEN/HEAP-PUSH!/POST-INCREMENT
Stephen Adams [Tue, 28 Feb 1995 01:42:59 +0000 (01:42 +0000)]
Removed duplicate of SIMPLE-OPERATOR?
Stephen Adams [Tue, 28 Feb 1995 01:40:38 +0000 (01:40 +0000)]
Removed some rules for outdated RTL.
Stephen Adams [Tue, 28 Feb 1995 01:39:12 +0000 (01:39 +0000)]
Fixed free variable bug.
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.
Stephen Adams [Tue, 28 Feb 1995 01:35:31 +0000 (01:35 +0000)]
Initial revision
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.
Stephen Adams [Tue, 28 Feb 1995 01:29:41 +0000 (01:29 +0000)]
Initial revision
Stephen Adams [Tue, 28 Feb 1995 01:17:31 +0000 (01:17 +0000)]
Missing dbg-info warning enabled by COMPILER:GURU?
Stephen Adams [Tue, 28 Feb 1995 01:11:46 +0000 (01:11 +0000)]
Removed dynamic link stuff.
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.
Stephen Adams [Mon, 27 Feb 1995 23:05:55 +0000 (23:05 +0000)]
Tidying.
Stephen Adams [Mon, 27 Feb 1995 22:40:58 +0000 (22:40 +0000)]
Fixed use of wrong variable.
Stephen Adams [Mon, 27 Feb 1995 22:39:39 +0000 (22:39 +0000)]
Added unary comparisons zero? negative? positive? like &= &< &>
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.
Stephen Adams [Mon, 27 Feb 1995 21:33:26 +0000 (21:33 +0000)]
Made noise message conditional on COMPILER:GURU?
Stephen Adams [Mon, 27 Feb 1995 17:33:45 +0000 (17:33 +0000)]
Tweaked with (IF <simple> <conseq> <alt>)
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.
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).
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.
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.
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.
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.
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.
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.
Chris Hanson [Fri, 24 Feb 1995 00:35:44 +0000 (00:35 +0000)]
Final round of changes to get 6.001 images working right.
Chris Hanson [Fri, 24 Feb 1995 00:34:46 +0000 (00:34 +0000)]
Put normalization case into CANONICALIZE-C-TYPE.
Chris Hanson [Fri, 24 Feb 1995 00:30:27 +0000 (00:30 +0000)]
Don't beep when ignoring evaluation environment -- it's too annoying.
Stephen Adams [Thu, 23 Feb 1995 13:58:12 +0000 (13:58 +0000)]
Added a useful tip under integration declarations.
Stephen Adams [Wed, 22 Feb 1995 13:37:04 +0000 (13:37 +0000)]
Mismatched paren.
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.
Stephen Adams [Wed, 22 Feb 1995 05:32:50 +0000 (05:32 +0000)]
Added %internal-apply-unchecked
Stephen Adams [Wed, 22 Feb 1995 04:09:20 +0000 (04:09 +0000)]
Fixed so that internal declarations are not lost.
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.
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.
Chris Hanson [Tue, 21 Feb 1995 23:23:42 +0000 (23:23 +0000)]
Change to use IMAGE/CREATE instead of 'CREATE-IMAGE graphics
operation.
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.