Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/3/84 (WLS Mods); site astrovax.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!princeton!astrovax!wls
From: wls@astrovax.UUCP (William L. Sebok)
Newsgroups: net.lang.forth
Subject: Re: Speaking of Princeton
Message-ID: <452@astrovax.UUCP>
Date: Thu, 20-Sep-84 17:29:45 EDT
Article-I.D.: astrovax.452
Posted: Thu Sep 20 17:29:45 1984
Date-Received: Tue, 25-Sep-84 20:17:21 EDT
References: <3033@utah-cs.UUCP> <128@cadovax.UUCP>
Organization: Princeton Univ. Astrophysics
Lines: 56

As my subscription to Forth Dimensions has lapsed I may be somewhat behind on
what is current in forth.  Also I haven't myself directly had to deal with
a FigForth system.  My first forth system was a Forth Inc. system circa 1976,
which predated FigForth.  From after many of my own changes I went directly to 
Forth 79.

> While the recent distribution of Princeton FORTH is still fresh
> on our computers, I've been evolving a list of "how do you do it"'s
> and was wondering if any of you out there have had similar problems/
> successes:
> 
> 1. How do I implement the equivalent of ?TERMINAL  ?

Sorry, but what does ?TERMINAL do?

> 2. How can I implement my own control structures ( such as Charles Eaker's
>    CASE statement ) without resorting to otherwise unknown assembly language?

Again, could you define Charles Eaker's CASE statement? If a control structure
needs no more of the underlying architecture than conditional branches you
could define immediate words that contain (from the ASSEMBLER vocabulary):
COMPILE IF ,  COMPILE THEN ,  and COMPILE UNTIL  and COMPILE whatever else you
need.

	addr cond UNTIL		compiles an arbitrary conditional branch from
				HERE to addr.

	cond IF	 --- addr	compiles an uncompleted forward conditional
				branch from HERE (using a conditional branch
				around a two-byte-displacement unconditional
				branch).

	addr THEN		completes an IF. addr is the address returned
				by the IF.  The destination is HERE.

I had included a CASE statement but I am not sure if is identical to the
one you want.  If you send me the definition I will try to implement it.

> 3. Is it absolutely impossible (under UNIX or on a VAX) to implement the
>    capability to re-save FORTH after an application has been compiled?
>    (useful when writing canned applications invoked from the O.S. - there's
>    no need for some users to know what language it was written in, and
>    there's little need to wait for your editor to compile EVERY time you
>    enter FORTH )

No, its not impossible. I am working on it and the next version will contain
it.  I am also working on loading non-Forth subroutine as Forth words.

There is much more that can be added to Forth, limited only by my time to
work on it.

It looks like I might have accomplished one of the things I hoped by posting
Forth: to stir up some life in this otherwise rather dead newsgroup.
-- 
Bill Sebok			Princeton University, Astrophysics
{allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!wls