Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!topaz!uwvax!astroatc!philm From: philm@astroatc.UUCP (Phil Mason) Newsgroups: net.lang Subject: Re: Extensibility (Re: RRe: What's so good about FORTH? Message-ID: <473@astroatc.UUCP> Date: Wed, 2-Jul-86 10:46:09 EDT Article-I.D.: astroatc.473 Posted: Wed Jul 2 10:46:09 1986 Date-Received: Thu, 3-Jul-86 06:58:30 EDT References: <201@pyuxv.UUCP> <3700003@uiucdcsp> <132@vaxb.calgary.UUCP> <152@cci632.UUCP> <770@ucbcad.BERKELEY.EDU> Reply-To: philm@astroatc.UUCP (Phil Mason) Organization: Astronautics ATC, Madison, WI Lines: 45 Keywords: FORTH, threaded-code In article <770@ucbcad.BERKELEY.EDU> faustus@ucbcad.BERKELEY.EDU (Wayne A. Christopher) writes: >Perhaps this discussion is bothering some people, but I have another >question about forth for the gurus on the subject . . . This IS net.lang. This is what this news-group is for. Now if we were on net.women . . . As you were saying ... >The major >advantage of C (as I see it) over Fortran, etc is the possibility of >defining structures and abstract types. Does forth have anything >comparable, or are there any forth paradigms that make this easy? Yes, there are the Builds(Create) - Does words that can define a new class of words. The Builds(Create) words allocates the proper space and does any necessary initialization. Does describes the run-time behavior of the new word. A short time ago, a gentleman posted a 16 line Forth implementation of Pascal record structure types on net.lang.forth. You can very succinctly describe any data structure you want either from scratch with Builds(Create)- Does or a set of tools that use them. >Also, what sort of position does forth take in the spectrum with functional >programming on one end and object-oriented programming on the other? >It seems to me that (like C) forth doesn't really try to deal with this >problem... Forth philosophers point out that a guiding principle behind Forth is that Forth words should do their share of the work. In other words, the functionality of the system should be equitably broken among the component words. If I have a statement that says 'FOO BAR BAZ', each of the words is a tool, a building block to describe the semantics of the statement. If these words do their own work and function as a tool, they can be used by other words and in other "sentences" to convey additional meaning. The goal is to make an application and user-interface that looks like English and to create component words that can make new, semantically correct sentences. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Kirk : Bones ? | Phil Mason, Astronautics Technical Center Bones : He's dead Jim. | Madison, Wisconsin - "Eat Cheese or Die!" - - - - - - - - - - - - - - - -| ...seismo-uwvax-astroatc!philm | I would really like to believe that my ...ihnp4-nicmad/ | employer shares all my opinions, but . . . =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=