DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T

⟦796d62e13⟧ TextFile

    Length: 4613 (0x1205)
    Types: TextFile
    Names: »TO_DO«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/gnu-31mar87/scheme/TO_DO« 

TextFile

For Emacs: -*-Text-*-

	CScheme microcode changes and experiments:
	__________________________________________

	Please add to this file as needed and write a comment with date and
author when done.

Simple changes:
_______________

[rel4]	Fix Stack_Top.  It is currently the highest available
location on the stack rather than first non available location.  This
would simplify a lot of things where extraneous ones are added and
subtracted because of current convention.

[]	Control points should have a slot with the number of display
slots in them.  This involves also the appropriate runtime system
change. *** We're not sure this should be done -- Jinx & Jim ***

[]	Collect code which appears explicitely in various places into
procedures or macros.  In particular, collect
	- lookup code in BASMOD and LOOKUP.
[rel4]	- GCloop and PurifyLoop in GCLOOP, which are almost identical.

[]	Add compilation of AUX variables through frame/offset.

[]	Fix bug under BSD4.2 by which if Scheme is proceeded in
background and then forgrounded, interrupts are not updated.
(Check whether SIGCONT is sent again when forgrounded). -- It isn't.
I have no idea how to do this.  -- Jinx

[]	Use CBREAK mode in BSD4.2 so that all interrupt characters are
available.

[]	Command line option checking: if the command line arguments
don't make sense, print a usage kind of message [JSM: Bad idea with
butterfly and fetchparam to be considered].  Add also a help
option.  Extend the command line parser from Bintopsb and Psbtobin and
use it instead of the crock in boot.  Add keywords -cross -bare
-student -normal, etc for "memorable" bands.  Potentially always
require -band or one of the above to have a band different from the
default.  Change -emacs into -editor since it can in principle work
under other editors.

[]	Add -load command line option.  This can be done by
redirecting stdin until EOF.
[rel4] The option has been added, but the feature not yet implemented.
It needs changing all IO calls to use C variables rather than stdin,
stdout, stderr explicitly.

[] 	Fix ascii dependencies in string.c and elsewhere.

[rel4]	Support for init files (current directory primitive).
On unix, prefix-volume returns the previous directory name.  Thus
(prefix-volume ".") can be used for this.

[rel4]	Timer interrupt

[]	Interrupt queues (vs. interrupt character).

[]	Make stack overflow checks occur only at apply time and other
fixed places (throw, etc.)

[rel4]	Make Scheme strings have a \0 character at the end so that
printing, etc, become faster.  Note that all primitives must be made
to maintain this convention.

[rel3]	Portable version of OS: unknown.c.  No interrupts and mostly
unimplemented primitives, but it should run anywhere.


More difficult changes:
_______________________

[rel3]	Provide a dump-world primitive which makes an executable
Scheme.

[rel4]	Reasonable emacs interface.  Extension to GNU EMACS, and
-emacs command line option to Scheme.  Immediate IO is kludged
(requires carriage return which is then discarded).

[]	Separate constant space and pure space.  Reorganize memory so
pure space can be shared on executable images.

[]	Rewrite bignum code so that in the portable case it does not
depend on sizeof(long) = 2 * sizeof(unsigned short) .
[rel4] Partly done by allowing it to use characters.  Should be fixed
to use larger number of digits and a single bit for sign.

[]	Complete garbage collect.  To disk.

[]	Change primitives so they are C functions of one argument
which is given to them by the interpreter.

[rel3]	Change primitives so that they do not usually need to pop
frames, etc. The primitive-apply code in the interpreter pops the
frame on return, and primitives do not remove things from the stack.
Only primitives which are hooks into the interpreter (apply,
scode-eval, catch, etc.) need to do something special, but these
don't return normally since they jump-back to eval or something like
that.  Note that backing out and writing primitives becomes
considerably simpler.

[]	Env-counter rack and environment frames on the stack.

[rel3]	Reorganize primitives and come up with a simple user-extensibility
mechanism.

[]	Fix external primitive mechanism so that:
1) external names are re-interned when set-fixed-objects-vector is
done (not easy), or everything is done at string level.
2) only the names referenced by a piece of code are dumped with it
(rather than the whole vector).
3) Make all primitives use this mechanism and get rid of external type.

Dream on:
_________

[]	Efficient byte-code interpreter.

[]	Compiler to C.

[]	Edwin (tied to compilation)