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