Path: utzoo!attcan!uunet!willett!ForthNet From: ForthNet@willett.UUCP (ForthNet articles from GEnie) Newsgroups: comp.lang.forth Subject: Experimental Ideas Message-ID: <1381.UUL1.3#5129@willett.UUCP> Date: 24 Jul 90 01:38:09 GMT Organization: String, Scotch tape, and Paperclips. (in Pgh, PA) Lines: 42 Category 3, Topic 5 Message 33 Mon Jul 23, 1990 D.RUFFER [Dennis] at 01:29 EDT Re: F.SERGEANT [Frank] What's so "pure" about polyFORTH? Indirect threading. Parameter fields contain definition tokens which point to code field addresses which point to code. Certainly not the most efficient, but the most universal technique across various hardware platforms. Block files. Our linear block arrangement is portable across all our platforms (with or without OS support) and our Least Recently Used buffer manager makes for very efficient use of the disk I/O path. Line editor. Our line editor follows the pattern desribed in Starting Forth and is used identically on all platforms. When we are able to add scroll locking and function key support, it is easier to use and more efficient than any other method. Threaded vocabularies. Traditionally using 8 threads, each of the 8 vocabularies are linked in a unique sequence. The vocabulary search order is implicitly defined by name making the locating of words highly deterministic. Round-robin multi-tasker. A very simple method of task support which requires minimal task switch overhead. By using a self modifying approach, a sleeping task can be passed over with a simple jump. That is all I can think of right off hand. Over the years, all Forth programmers have "improved" on these techniques with varying degrees of success. I think every Forth has roots in these techniques, and many have developed more efficient approaches. Some systems have found better ways of doing various parts, but polyFORTH is the only one I know of that contains all of these techniques in their pure form. We have also experimented with various alternatives, but we seem to always come back to the simplicity of these methods. Maybe there is a reason. DaR ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu