mit-scheme.git
36 years agoModify `char-controlify' and `char-control-metafy' to use new
Chris Hanson [Wed, 5 Apr 1989 18:23:37 +0000 (18:23 +0000)]
Modify `char-controlify' and `char-control-metafy' to use new
procedure `ascii-controlified?' when determining whether or not to set
the control bit in the result.

36 years agoUpdate to reflect changes in `find-file-noselect'.
Chris Hanson [Wed, 5 Apr 1989 18:22:38 +0000 (18:22 +0000)]
Update to reflect changes in `find-file-noselect'.

36 years agoUpdate pathnames to reflect current installation. Add new pathname
Chris Hanson [Wed, 5 Apr 1989 18:21:57 +0000 (18:21 +0000)]
Update pathnames to reflect current installation.  Add new pathname
for tutorial file.

36 years agoRewrite handling of tutorial so that the file pathnames are correct.
Chris Hanson [Wed, 5 Apr 1989 18:21:08 +0000 (18:21 +0000)]
Rewrite handling of tutorial so that the file pathnames are correct.

36 years agoChange `find-file', `read-buffer', and related procedures to separate
Chris Hanson [Wed, 5 Apr 1989 18:19:54 +0000 (18:19 +0000)]
Change `find-file', `read-buffer', and related procedures to separate
out certain functionality in new procedure `after-find-file'.  This
new procedure sets the read-only bit, puts up any special messages
regarding the read/write status of the file, and does mode
initialization.  In addition, `find-file' now catches file errors and
recovers from them in a reasonably graceful way.

36 years agoCreate procedure `ascii-controlified?' which is true of characters
Chris Hanson [Wed, 5 Apr 1989 18:15:52 +0000 (18:15 +0000)]
Create procedure `ascii-controlified?' which is true of characters
which are ASCII control characters (not counting things like RET, LFD,
TAB, etc.).

36 years agoIn direct-update, must wrap the redrawing code with
Chris Hanson [Wed, 5 Apr 1989 18:14:26 +0000 (18:14 +0000)]
In direct-update, must wrap the redrawing code with
`with-screen-in-update!' so that the screen gets flushed correctly.

36 years agoChange `load-edwin-file' to default the directory of the input
Chris Hanson [Wed, 5 Apr 1989 18:11:32 +0000 (18:11 +0000)]
Change `load-edwin-file' to default the directory of the input
pathname to the library directory.

36 years agoRemove filter queuing mechanism. Rewrite filter state machine to be
Chris Hanson [Wed, 5 Apr 1989 17:12:45 +0000 (17:12 +0000)]
Remove filter queuing mechanism.  Rewrite filter state machine to be
iterative instead of tail-recursive.  Move all C-c commands to control
characters.

36 years agoMake file-system errors have a common generalization.
Chris Hanson [Wed, 5 Apr 1989 05:46:52 +0000 (05:46 +0000)]
Make file-system errors have a common generalization.

36 years agoRandom typo in previous change.
Chris Hanson [Wed, 5 Apr 1989 04:30:25 +0000 (04:30 +0000)]
Random typo in previous change.

36 years agoOrganize handling of file system errors so that they share a common
Chris Hanson [Wed, 5 Apr 1989 04:29:03 +0000 (04:29 +0000)]
Organize handling of file system errors so that they share a common
generalization type.

36 years agoUse proper error-type to signal open file error.
Chris Hanson [Wed, 5 Apr 1989 04:27:38 +0000 (04:27 +0000)]
Use proper error-type to signal open file error.

36 years agoInitial revision
Chris Hanson [Wed, 5 Apr 1989 04:26:29 +0000 (04:26 +0000)]
Initial revision

36 years agoMove unix primitives elsewhere.
Chris Hanson [Wed, 5 Apr 1989 04:25:52 +0000 (04:25 +0000)]
Move unix primitives elsewhere.

36 years agoCan't use `po' in the runtime system -- it is strictly a part of the
Chris Hanson [Wed, 5 Apr 1989 04:25:25 +0000 (04:25 +0000)]
Can't use `po' in the runtime system -- it is strictly a part of the
compiler.  Use `pp' instead.

36 years agoWhen a procedure appears in the operator position, the free variables
Chris Hanson [Mon, 3 Apr 1989 22:03:55 +0000 (22:03 +0000)]
When a procedure appears in the operator position, the free variables
of all of its callees, as well as itself, must be collected.

36 years ago1) Add support for ordinary terminals by using the curses library.
Guillermo J. Rozas [Thu, 30 Mar 1989 16:40:21 +0000 (16:40 +0000)]
1) Add support for ordinary terminals by using the curses library.

2) Eliminate some interrupt windows in direct output.

3) Add operations to the screen data structure to accomodate curses.

4) Add a new structure, a display, which consists of a keyboard and a screen.

5) Conditions not trapped by edwin now revert to the user in a
reasonable way, ie. the terminal should be in the same state that it
was before edwin was entered.

6) Reentering edwin after an unhandled condition updates the display.

7) The interaction buffer prompt is now inserted in the "exit" thunk
of the dynamic unwind, so that an abort will insert it as well.

8) Fix wrong number of args bug in ^R Screen Video.

36 years agoarray-cons-reals: use double precision as much as possible
Panayotis Skordos [Wed, 29 Mar 1989 04:34:06 +0000 (04:34 +0000)]
array-cons-reals: use double precision as much as possible

36 years agoFix a trivial bug in the open coding of SYSTEM-VECTOR-SIZE and
Guillermo J. Rozas [Wed, 29 Mar 1989 04:14:08 +0000 (04:14 +0000)]
Fix a trivial bug in the open coding of SYSTEM-VECTOR-SIZE and
VECTOR-LENGTH.  The header's type code field must be cleared before
or'ing in the new type.

36 years agoAdd support for trap recovery:
Guillermo J. Rozas [Wed, 29 Mar 1989 02:45:50 +0000 (02:45 +0000)]
Add support for trap recovery:
- New condition types for hardware traps have been added.
- The stack parser knows how to parse (heuristically) the trap
recovery information.
- The debugger prints a description of the context of the trap.
- hardware-trap-frame/print-registers and
hardware-trap-frame/print-stack can be used on stack-frames of type
hardware-trap to display more information.
- The debugger's Y command (new) prints the stack frame structure
corresponding to the current subproblem.

36 years agoDeleted second copy of copyright message.
Arthur Gleckler [Tue, 28 Mar 1989 20:41:57 +0000 (20:41 +0000)]
Deleted second copy of copyright message.

36 years agoRegisters[REGBLOCK_PRIMITIVE] is now cleared when a primitive aborts
Guillermo J. Rozas [Tue, 28 Mar 1989 20:39:19 +0000 (20:39 +0000)]
Registers[REGBLOCK_PRIMITIVE] is now cleared when a primitive aborts
with a non-error/interrupt code.

36 years agoTrap recovery has been changed. The microcode attempts to determine
Guillermo J. Rozas [Mon, 27 Mar 1989 23:17:29 +0000 (23:17 +0000)]
Trap recovery has been changed.  The microcode attempts to determine
how much state is valid and then saves all the pertinent information
(pc, registers, etc) so that the context of the trap and the rest of
the stack can be examined from scheme.

Primitives for reading/setting/enabling the keyboard interrupt
characters have been added.  There is now a single C keyboard
interrupt handler which dispatches according to the signal received
and what the current handler is supposed to do.

Scheme tty input has been rewritten for the NTH time.  reader_context
and reader_state structures have been merged.

36 years agoAdd optional filename argument to read-microcode-tables! to specify
Guillermo J. Rozas [Thu, 23 Mar 1989 20:43:59 +0000 (20:43 +0000)]
Add optional filename argument to read-microcode-tables! to specify
a users own filename from scheme.

36 years ago*** empty log message ***
Chris Hanson [Wed, 15 Mar 1989 19:17:06 +0000 (19:17 +0000)]
*** empty log message ***

36 years agoChanges to make Dired work better.
Chris Hanson [Wed, 15 Mar 1989 19:15:20 +0000 (19:15 +0000)]
Changes to make Dired work better.

36 years agoChanges to make this work with Emacs' tags tables.
Chris Hanson [Wed, 15 Mar 1989 19:14:38 +0000 (19:14 +0000)]
Changes to make this work with Emacs' tags tables.

36 years agoChange `read-buffer' to correctly update the read-only flag. Also fix
Chris Hanson [Wed, 15 Mar 1989 19:14:13 +0000 (19:14 +0000)]
Change `read-buffer' to correctly update the read-only flag.  Also fix
some bugs which might have occurred if the truename was #F.

36 years agoChange `current-default-pathname' and `pathname->buffer-name' to
Chris Hanson [Wed, 15 Mar 1989 19:13:05 +0000 (19:13 +0000)]
Change `current-default-pathname' and `pathname->buffer-name' to
support dired better.  Add new operation `prompt-for-directory' to
help out as well.

36 years agoWhen evaluation errors occur, pop up buffer with error message in it.
Chris Hanson [Wed, 15 Mar 1989 19:11:35 +0000 (19:11 +0000)]
When evaluation errors occur, pop up buffer with error message in it.

36 years ago*** empty log message ***
Chris Hanson [Wed, 15 Mar 1989 19:10:42 +0000 (19:10 +0000)]
*** empty log message ***

36 years agoA number of changes to accomodate the unix environment.
Chris Hanson [Wed, 15 Mar 1989 19:10:20 +0000 (19:10 +0000)]
A number of changes to accomodate the unix environment.

36 years agoRemove `writeable?' flag; define writability in terms of
Chris Hanson [Wed, 15 Mar 1989 19:09:51 +0000 (19:09 +0000)]
Remove `writeable?' flag; define writability in terms of
`group-read-only?'.

36 years agoDon't echo fasloads to REPL when loading libraries.
Chris Hanson [Wed, 15 Mar 1989 19:08:39 +0000 (19:08 +0000)]
Don't echo fasloads to REPL when loading libraries.

36 years ago*** empty log message ***
Chris Hanson [Wed, 15 Mar 1989 04:42:06 +0000 (04:42 +0000)]
*** empty log message ***

36 years agoChanges to repackage the environment optimizer.
Chris Hanson [Tue, 14 Mar 1989 19:49:07 +0000 (19:49 +0000)]
Changes to repackage the environment optimizer.

36 years ago`undrift-procedure!' must set the block-parent of the procedure's
Chris Hanson [Tue, 14 Mar 1989 19:45:15 +0000 (19:45 +0000)]
`undrift-procedure!' must set the block-parent of the procedure's
block to match the new closing-limit.  Also: change the handling of
the closing-limit to guarantee that it is always either the same as
the closing-block, or #F; reorganize the code a bit.

36 years agoRule which prevents lifting procedures of some "LET-like" procedures
Chris Hanson [Tue, 14 Mar 1989 19:42:25 +0000 (19:42 +0000)]
Rule which prevents lifting procedures of some "LET-like" procedures
is too general.  Should not prevent trivial closures from being lifted
as far as they can.

36 years agoCan't pass a context to `make-return', because it expects a block.
Chris Hanson [Tue, 14 Mar 1989 19:38:55 +0000 (19:38 +0000)]
Can't pass a context to `make-return', because it expects a block.
This is because this procedure is usually called from fggen, and the
contexts are constructed later.  Change this code to pass the block
and then clobber it.

36 years agoThe `block/procedure' of a block is not always a procedure (it might
Chris Hanson [Tue, 14 Mar 1989 19:35:30 +0000 (19:35 +0000)]
The `block/procedure' of a block is not always a procedure (it might
be an expression).  Sometimes must check it to make sure.

36 years agoExport `condition/message' for use in error-reporting handlers.
Chris Hanson [Tue, 14 Mar 1989 09:33:13 +0000 (09:33 +0000)]
Export `condition/message' for use in error-reporting handlers.

36 years agoFix another trivial bug.
Chris Hanson [Tue, 14 Mar 1989 08:18:39 +0000 (08:18 +0000)]
Fix another trivial bug.

36 years agoInitial revision
Chris Hanson [Tue, 14 Mar 1989 08:12:21 +0000 (08:12 +0000)]
Initial revision

36 years agoInitial working version for C-Scheme.
Chris Hanson [Tue, 14 Mar 1989 08:04:03 +0000 (08:04 +0000)]
Initial working version for C-Scheme.

36 years agoDon't use vector-ref on result of file-attributes.
Chris Hanson [Tue, 14 Mar 1989 02:23:10 +0000 (02:23 +0000)]
Don't use vector-ref on result of file-attributes.

36 years ago*** empty log message ***
Chris Hanson [Tue, 14 Mar 1989 02:18:42 +0000 (02:18 +0000)]
*** empty log message ***

36 years agoChange `delete-file' to return #F if the file does not exist, instead
Chris Hanson [Tue, 14 Mar 1989 02:18:01 +0000 (02:18 +0000)]
Change `delete-file' to return #F if the file does not exist, instead
of signalling an error.

36 years agoAdd new operations to support Edwin:
Chris Hanson [Tue, 14 Mar 1989 02:17:20 +0000 (02:17 +0000)]
Add new operations to support Edwin:
    file-modes
    set-file-modes!
    unix/file-access
    file-writable?
    unix/current-uid
    unix/current-gid

36 years agoChange `identify-world' to accept an output port as its optional
Chris Hanson [Tue, 14 Mar 1989 02:16:13 +0000 (02:16 +0000)]
Change `identify-world' to accept an output port as its optional
argument, rather than a cmdl.

36 years agoVarious changes to support Edwin.
Chris Hanson [Tue, 14 Mar 1989 01:59:28 +0000 (01:59 +0000)]
Various changes to support Edwin.

36 years agoImplement new primitives to support Edwin:
Chris Hanson [Tue, 14 Mar 1989 01:59:01 +0000 (01:59 +0000)]
Implement new primitives to support Edwin:
    file-modes
    set-file-modes!
    file-access
    current-uid
    current-gid

36 years agoInitial revision
Chris Hanson [Tue, 14 Mar 1989 01:57:33 +0000 (01:57 +0000)]
Initial revision

36 years agoFix some random typos.
Chris Hanson [Tue, 14 Mar 1989 01:57:10 +0000 (01:57 +0000)]
Fix some random typos.

36 years agoAdd rule for
Chris Hanson [Fri, 10 Mar 1989 08:05:25 +0000 (08:05 +0000)]
Add rule for

(ASSIGN (BYTE-OFFSET (REGISTER (? address)) (? offset))
(REGISTER (? source)))

36 years ago*** empty log message ***
Chris Hanson [Tue, 7 Mar 1989 01:23:35 +0000 (01:23 +0000)]
*** empty log message ***

36 years agoAdd handlers for other errors that can be signalled by
Chris Hanson [Tue, 7 Mar 1989 01:23:04 +0000 (01:23 +0000)]
Add handlers for other errors that can be signalled by
`environment-link-name'.

36 years agoAdd `weak-memq'. Make compound car/cdr operations type-safe.
Chris Hanson [Tue, 7 Mar 1989 01:21:30 +0000 (01:21 +0000)]
Add `weak-memq'.  Make compound car/cdr operations type-safe.

36 years agoExport new operations to global environment.
Chris Hanson [Mon, 6 Mar 1989 20:00:30 +0000 (20:00 +0000)]
Export new operations to global environment.

36 years agoAdd new operations `with-cmdl/{in,out}put-port'.
Chris Hanson [Mon, 6 Mar 1989 19:59:42 +0000 (19:59 +0000)]
Add new operations `with-cmdl/{in,out}put-port'.

36 years agoAdd new operation `object-component-binder'.
Chris Hanson [Mon, 6 Mar 1989 19:59:05 +0000 (19:59 +0000)]
Add new operation `object-component-binder'.

36 years agoAdd new operation `set-current-output-port!'.
Chris Hanson [Mon, 6 Mar 1989 19:58:24 +0000 (19:58 +0000)]
Add new operation `set-current-output-port!'.

36 years agoAdd new operation `set-current-input-port!'.
Chris Hanson [Mon, 6 Mar 1989 19:57:44 +0000 (19:57 +0000)]
Add new operation `set-current-input-port!'.

36 years ago*** empty log message ***
Chris Hanson [Thu, 2 Mar 1989 02:16:55 +0000 (02:16 +0000)]
*** empty log message ***

36 years agoAdd \n\ to end of each line in primitive procedure documentation
Gerald Jay Sussman [Wed, 1 Mar 1989 00:16:30 +0000 (00:16 +0000)]
Add \n\ to end of each line in primitive procedure documentation
strings.

36 years ago*** empty log message ***
Chris Hanson [Tue, 28 Feb 1989 18:36:10 +0000 (18:36 +0000)]
*** empty log message ***

36 years agoAdd "record" package from JAR.
Chris Hanson [Tue, 28 Feb 1989 18:35:03 +0000 (18:35 +0000)]
Add "record" package from JAR.

36 years agoInitial revision
Chris Hanson [Tue, 28 Feb 1989 18:34:09 +0000 (18:34 +0000)]
Initial revision

36 years agoAllow stored description of named structure to be either a defstruct
Chris Hanson [Tue, 28 Feb 1989 18:23:55 +0000 (18:23 +0000)]
Allow stored description of named structure to be either a defstruct
structure description, or a procedure.  In the latter case the
procedure is just called to produce the description.

36 years ago*** empty log message ***
Chris Hanson [Tue, 28 Feb 1989 17:06:47 +0000 (17:06 +0000)]
*** empty log message ***

36 years agoFencepost error in `zellers-congruence' caused day of week to be
Chris Hanson [Tue, 28 Feb 1989 17:05:50 +0000 (17:05 +0000)]
Fencepost error in `zellers-congruence' caused day of week to be
incorrect in February.

36 years ago`proceed' from an error, with an argument, wasn't skipping the first
Chris Hanson [Tue, 28 Feb 1989 16:49:52 +0000 (16:49 +0000)]
`proceed' from an error, with an argument, wasn't skipping the first
subproblem frame.

36 years ago*** empty log message ***
Chris Hanson [Fri, 24 Feb 1989 09:29:05 +0000 (09:29 +0000)]
*** empty log message ***

36 years agoAdd support for X11 graphics on HP machines.
Chris Hanson [Fri, 24 Feb 1989 09:28:33 +0000 (09:28 +0000)]
Add support for X11 graphics on HP machines.

36 years agoInitial revision
Chris Hanson [Fri, 24 Feb 1989 09:24:50 +0000 (09:24 +0000)]
Initial revision

36 years agoDon't treat data lists like combinations.
Chris Hanson [Wed, 22 Feb 1989 07:16:34 +0000 (07:16 +0000)]
Don't treat data lists like combinations.

36 years agoFix a problem whereby invalid C was generated when there were no primitives.
Guillermo J. Rozas [Sun, 19 Feb 1989 20:02:52 +0000 (20:02 +0000)]
Fix a problem whereby invalid C was generated when there were no primitives.

36 years agoFix problem with duplicate definition of PI.
Guillermo J. Rozas [Sun, 19 Feb 1989 18:09:08 +0000 (18:09 +0000)]
Fix problem with duplicate definition of PI.

36 years agoSome changes to unix.c to remove most conditionalization by machine
Guillermo J. Rozas [Sun, 19 Feb 1989 17:52:08 +0000 (17:52 +0000)]
Some changes to unix.c to remove most conditionalization by machine
and OS type.  Most of the code is now conditionalized according to
flags like HAS_<mumble> or macros defined by the included files.

mul.c is now included by fixnum.c, and all the assembly language
versions have been moved to mul.c.

36 years agoFix a declaration in Mul.
Guillermo J. Rozas [Fri, 17 Feb 1989 15:05:19 +0000 (15:05 +0000)]
Fix a declaration in Mul.

36 years agoFix some documentation on flags, and add sun4 info.
Guillermo J. Rozas [Wed, 15 Feb 1989 19:23:27 +0000 (19:23 +0000)]
Fix some documentation on flags, and add sun4 info.

36 years agoImprove mantissa bit computation so that it takes round-off into account.
Guillermo J. Rozas [Wed, 15 Feb 1989 18:47:04 +0000 (18:47 +0000)]
Improve mantissa bit computation so that it takes round-off into account.

36 years agoSome enhancements for floating alignment and error checking.
Guillermo J. Rozas [Wed, 15 Feb 1989 03:29:34 +0000 (03:29 +0000)]
Some enhancements for floating alignment and error checking.

36 years agoFix uninitialized variable bug.
Guillermo J. Rozas [Tue, 14 Feb 1989 20:41:32 +0000 (20:41 +0000)]
Fix uninitialized variable bug.

36 years agoFix within-continuation and rewrite invocation-method/reentrant to
Guillermo J. Rozas [Fri, 10 Feb 1989 23:37:59 +0000 (23:37 +0000)]
Fix within-continuation and rewrite invocation-method/reentrant to
perform the state space motion after the control throw.

36 years agoAdd #@ to read back hashed objects.
Guillermo J. Rozas [Fri, 10 Feb 1989 23:35:57 +0000 (23:35 +0000)]
Add #@ to read back hashed objects.
Fix within-continuation and rewrite invocation-method/reentrant to
perform the state space motion after the control throw.

36 years agoAdd #@ to read back hashed objects.
Guillermo J. Rozas [Fri, 10 Feb 1989 22:13:50 +0000 (22:13 +0000)]
Add #@ to read back hashed objects.

36 years agoPretty-printer needs definition of `unparse-list/prefix-pair?' from
Chris Hanson [Thu, 9 Feb 1989 04:16:28 +0000 (04:16 +0000)]
Pretty-printer needs definition of `unparse-list/prefix-pair?' from
unparser.

36 years ago*** empty log message ***
Chris Hanson [Thu, 9 Feb 1989 03:48:44 +0000 (03:48 +0000)]
*** empty log message ***

36 years agoUnparser now treats QUASIQUOTE, UNQUOTE, and UNQUOTE-SPLICING
Chris Hanson [Thu, 9 Feb 1989 03:45:36 +0000 (03:45 +0000)]
Unparser now treats QUASIQUOTE, UNQUOTE, and UNQUOTE-SPLICING
specially.

36 years ago`define-structure' macro should return the name of the structure which
Chris Hanson [Wed, 8 Feb 1989 22:43:50 +0000 (22:43 +0000)]
`define-structure' macro should return the name of the structure which
was defined.

36 years agoEliminate C compiler warning.
Chris Hanson [Mon, 30 Jan 1989 13:04:03 +0000 (13:04 +0000)]
Eliminate C compiler warning.

36 years agoEliminate unreferenced variable warning.
Chris Hanson [Sat, 21 Jan 1989 09:29:50 +0000 (09:29 +0000)]
Eliminate unreferenced variable warning.

36 years ago*** empty log message ***
Chris Hanson [Sat, 21 Jan 1989 09:23:03 +0000 (09:23 +0000)]
*** empty log message ***

36 years agoDefine `combination/inline/simple?'.
Chris Hanson [Sat, 21 Jan 1989 09:22:17 +0000 (09:22 +0000)]
Define `combination/inline/simple?'.

36 years agoAdd several new rules which are needed because of changes to the
Chris Hanson [Sat, 21 Jan 1989 09:21:37 +0000 (09:21 +0000)]
Add several new rules which are needed because of changes to the
expression simplifier in the RTL generator.  Rewrite the rules for
handling string manipulation: the previous rules weren't complete or
accurate.

36 years agoChange the expression-simplification to generate temporaries for more
Chris Hanson [Sat, 21 Jan 1989 09:18:55 +0000 (09:18 +0000)]
Change the expression-simplification to generate temporaries for more
kinds of expressions.  This provides more intermediate values for the
CSE to work on, allowing it to do a better job, but assumes that the
code compressor will eliminate them later.

36 years agoImplement more aggressive compression of the RTL, because the
Chris Hanson [Sat, 21 Jan 1989 09:16:27 +0000 (09:16 +0000)]
Implement more aggressive compression of the RTL, because the
intermediate swell caused by having one RTL instruction per bblock
object finally exceeded the available memory for a reasonable file.
The current solution, which compresses the instructions associated
with each FG node as they are generated, saves a considerable amount
of space.

36 years agoOpen coding of primitives: flesh out the type and range checking,
Chris Hanson [Sat, 21 Jan 1989 09:12:29 +0000 (09:12 +0000)]
Open coding of primitives: flesh out the type and range checking,
which was previously a little spotty (e.g. general-car-cdr had no type
checking).  Improve handling of `string-ref' and `string-set!' so that
they inline code in the computed index case.  Flush inline coding of
`char->ascii', which was incorrect anyway since it didn't check to see
if the character was in the ASCII range.

36 years agoChange simplicity analysis: previously all inline coded combinations
Chris Hanson [Sat, 21 Jan 1989 09:09:28 +0000 (09:09 +0000)]
Change simplicity analysis: previously all inline coded combinations
were treated as simple, now there are some (e.g. generic arithmetic)
which are not.  There is still a problem relating to type checking
which could cause problems: if a type or range check fails in an
otherwise simple inlined combination, the exception handling is not
simple.  This should be fixed without making the entire combination
non-simple.