🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.lang.forth
Article #173

Re: Why FORTH screens?

#173
From: Mitch Bradley
Date: Mon, 25 Mar 1985 23:20
43 lines
2802 bytes
> Why does FORTH use screens to package its definitions?

On machines with small memories and small, slow disks, screens
are reasonable, since the code to manipulate them is small.
Also, on floppies, editing screens is fairly fast, since the
editing is done in place, and an insert into the middle of a
screen has to move at most 1023 bytes.

HOWEVER, on modern computers, screens are just a pain in the you-know-what.

My FORTH system, which is an adaptation of Laxen & Perry's F83 for
68000 Unix systems, uses files.  I have not even bothered to implement
BLOCK.  I edit source code using Emacs, then load the file.
A 68000 compiles Forth so fast that it is not worthwhile to try to forget
back to where the error occurred and incrementally reload.  Instead,
I just blow away the forth process and restart it.  I can do this faster
than I can type FORGET WHATEVER.

I have modified the compiler so that it doesn't stop when it hits an
undefined word; instead, it prints an error message and compiles a
reference to a word LOSE, whose run time action is to complain and abort.
This scheme allows the compiler to find all the undefined words in a
file, without making such errors propagate through all words that
use the undefined word.

This is especially wonderful in an environment where you can run the
editor and the forth process simultaneously in separate windows,
such as inside Gosling's Emacs or in the SunWindows environment.

I have published a paper describing a proposed standard portable file system
interface, similar in spirit to the C Standard I/O concept.  The paper
may be found in the proceedings of the 1983 Asilomar FORML Conference,
along with the code to implement it under either CP/M or Unix.  The
interface spec, without the code, is also published in the Proceedings of
the 1984 Rochester Forth Conference.

By the way, my 68000 Unix F83 system will be included on the soon-to-be-
released  "Sun User Group Unsupported Software" tape.  It ports quite
easily to non-Sun 68000 Unix systems, and can also run on random 68000 boards
with a small effort.  It's public domain, so feel free to get a copy from
somebody with a Sun.

Mitch Bradley
Technical Details
Message-ID: <2079@sun.uucp>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!decwrl!sun!wmb
References: <7349@watrose.UUCP>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!decwrl!sun!wmb
From: wmb@sun.uucp (Mitch Bradley)
Newsgroups: net.lang.forth
Subject: Re: Why FORTH screens?
Message-ID: <2079@sun.uucp>
Date: Mon, 25-Mar-85 18:20:25 EST
Article-I.D.: sun.2079
Posted: Mon Mar 25 18:20:25 1985
Date-Received: Wed, 27-Mar-85 04:23:42 EST
References: <7349@watrose.UUCP>
Reply-To: wmb@sun.UUCP (Mitch Bradley)
Organization: Sun Microsystems, Inc.
Lines: 43