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.
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.
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.
Chris Hanson [Tue, 21 Feb 1995 23:15:33 +0000 (23:15 +0000)]
Various changes relating to graphics development.
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.
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.
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.
Chris Hanson [Tue, 21 Feb 1995 23:01:09 +0000 (23:01 +0000)]
New file "os2ctype.scm".
Chris Hanson [Tue, 21 Feb 1995 23:00:42 +0000 (23:00 +0000)]
Initial revision
Chris Hanson [Tue, 21 Feb 1995 22:55:42 +0000 (22:55 +0000)]
Limit initial width of console window to 80 characters.
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.
Stephen Adams [Tue, 21 Feb 1995 21:19:28 +0000 (21:19 +0000)]
Improved ANDIFY
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.
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.
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.
Stephen Adams [Tue, 21 Feb 1995 05:32:05 +0000 (05:32 +0000)]
Changed LATEREW/NUMBER? to FORM/NUMBER? and tidied a few expression.
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.
Stephen Adams [Mon, 20 Feb 1995 20:13:39 +0000 (20:13 +0000)]
Added FORM/NUMBER? and diddled with careful operators stuff.
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.
Stephen Adams [Fri, 17 Feb 1995 23:41:57 +0000 (23:41 +0000)]
Added rewrites for EXPT and SQRT which are `enabled' by using EXPT and
SQRT like this:
((access SQRT system-global-environment) 6.7)
i.e. they dispatch of (CALL %invoke-remote-operator ...) (declare
(usual-integrations)) should be changed to make operator references to
these standard procedures into global references.
SQRT just does constant folding. EXPT also expands to a small
expression trees of <= some number of generic multiplies for a small
exact integer exponent.
Chris Hanson [Thu, 16 Feb 1995 22:45:37 +0000 (22:45 +0000)]
Fix bug in redisplay: when variables that affect display (e.g.
truncate-lines) are changed, the window start marks must be erased.
Otherwise, the old start marks are used, and with the new display
variables in effect, these marks could cause point to be left
offscreen, or even force all of the buffer's text to be offscreen!
Chris Hanson [Thu, 16 Feb 1995 21:59:01 +0000 (21:59 +0000)]
Reformat to meet page length and width standards.
Stephen Adams [Thu, 16 Feb 1995 13:19:38 +0000 (13:19 +0000)]
Made the production of more noise conditional on COMPILER:GURU?
Stephen Adams [Wed, 15 Feb 1995 23:43:06 +0000 (23:43 +0000)]
Moved PUT, GET and ASSQ to library.scm
Stephen Adams [Wed, 15 Feb 1995 21:54:14 +0000 (21:54 +0000)]
Fixed a bug in the substitution code. Now it keeps a reference to the
call rather than the lookup when the operator of a call is a lookup,
as expected in the rest of the program.
Stephen Adams [Wed, 15 Feb 1995 13:07:53 +0000 (13:07 +0000)]
Initial revision
Stephen Adams [Tue, 14 Feb 1995 02:39:50 +0000 (02:39 +0000)]
Fixed buglet when opencoding &*
Stephen Adams [Tue, 14 Feb 1995 02:38:45 +0000 (02:38 +0000)]
Fixed bug where (&* (side-effect) 0) => 0
Improved handling of exactness.