[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New Apollo T Release



The is a new release of T for the Apollo (version 1.67) that you can get
using CHKUPD.  Features include: (some of these may have been reported
previously, please forgive redundancy)

- INIT.T is loaded from the working directory.

- CAR/CDR chains up to 4 long (e.g. CADDAR) are provided, and they are settable
  (i.e. they work with SET, SWAP, PUSH, INCREMENT, etc.).

- LOAD has been fixed so that it doesn't crash T if you give it the name of
  a non-existent file.  It still has the bug that the file won't get closed if
  the LOAD is thrown out of (e.g. with RESET); this will be fixed within a
  month.  Use the (CLOSE *LOAD-CHANNEL*) kludge for now.

- Dynamic bindings are now restored across throws (e.g. when a RESET is done).
  E.g. (BIND ((X 'WIN)) (LIST (CATCH FOO (BIND ((X 'LOSE)) (FOO 'WE))) X))
  formerly returned (WE LOSE) [wrong], now returns (WE WIN) [right].

- (FILE-EXISTS? string) now exists to probe existence of files.

- (MAYBE-OPEN string modes) is like OPEN but returns () if the file 

- Typing ^Z (that is, end-of-file) at break level does a (RESET).

- Bit vectors (BITV's) are provisionally implemented so that Nat can do
  stuff with CALL-XENOID.  Send mail for details.

- If you want () to not be self-evaluating, do (SET *NULL-SELF-EVALUATES?* NIL).

- There is a simple DEBUG.  It's practically useless right now; it lets
  hard-core hackers inspect stack frames (the X command), for what that's worth.
  Better debugging tools are in the works.

Incompatible changes:

- Objects such as vectors, procedures, and xenoids, are no longer self
  evaluating.  Only numbers, strings, characters, and () are.

- Some renamings: (note that channels are an internal hack only)
  STRING->STREAM  =>  STRING->INPUT-STREAM
  CHANNEL-MAKE-INPUT-STREAM  =>  CHANNEL->INPUT-STREAM
  CHANNEL-MAKE-OUTPUT-STREAM  =>  CHANNEL->OUTPUT-STREAM
  STREAM-CHANNEL  =>  STREAM->CHANNEL		
  Some of the old names are still provided for compatibility; in the future
  we'll be more careful about doing this, and uses of the old names will produce
  annoying little remarks telling you to change your code.

We have just started to get organized about keeping histories for our
sources.  So there may be other changes not noted here because we forgot
we did them.  If you want to keep abreast of all the weird things we work on,
check out the files [RES]<F.T.TAU>T-HISTORY.TXT and
<F.T.COMPILER>TCOMP-HISTORY.TXT.