[comp.lang.forth] Forth

hiebeler@csv.rpi.edu (David Hiebeler) (08/17/87)

References:


I am fairly new to Forth; I use it in controlling experiments with a
Cellular Automata Machine developed at MIT.
  I like the language so far;  it has a certain natural feel to it and the
way it is constructed.  But what I am wondering is this:  what kinds of
things do you write in Forth?  I can't really think of anything that I would
like to write in Forth as opposed to another language.  Also, if I were 
going to write something, I don't know if I'd really know how to do it in
Forth -- the version I am using only requires knowledge of a very limited
vocabulary to control the experiments I am doing.
  I guess what I am saying is, I'd like to see some simple but complete
programs, that do whatever, written in Forth.
 
                             -D.H.
----
David Hiebeler       hiebeler@csv.rpi.edu
Chatham, NY         "Illusions, Richard!  Every
(also Troy, NY)      bit of it illusions!"

rat@circle.UUCP (David Douthitt) (10/06/87)

What are all of you people using Forth for?
 
I realize that defining CURRENT projects would create more problems than 
I know, but why not tell what you have used Forth for in the past? And 
you could just put in a word like "We're using it in a current project" 
and tell what kind of business you are in.
 
People have asked me before "Who uses Forth?"  I thought I'd put the 
question to you and see what YOU have to say....
 
                  ..... david
 
      "Curiouser and curiouser," said Alice.
 


--  
::: David Douthitt ::: Madison, Wisc ::: 
uucp mail: ...!uwvax!geowhiz!uwspan!circle!rat
fidonet mail: 121/1

thomson@udel.EDU (Richard Thomson) (10/09/87)

In article <5.21698D15@circle.UUCP> rat@circle.UUCP (David Douthitt) writes:
>What are all of you people using Forth for?

I am currently using a version of FORTH for the Amiga to do development work
on a cartographic display program.  I decided to use FORTH since the hardware
environment on my Amiga is rather limited (compared to a good C development
environment).  I am also fleshing out a version of a distributed object-
oriented FORTH for the transputer.  This, strictly speaking, is not what I am
using FORTH for but what I am writing FORTH for. :-)

>::: David Douthitt ::: Madison, Wisc ::: 

						Rich Thomson
-- 
Rich Thomson	Founder, Oasis Technologies	ARPA: thomson@louie.udel.edu
USnail: POB 154, Newark  DE 19715		UUCP: ??
OS/2: Yesterday's software tomorrow	PS/2: Yesterday's hardware today. [--HS]

andy@batcomputer.tn.cornell.edu (Andy Pfiffer) (10/09/87)

>>What are all of you people using Forth for?
>>::: David Douthitt ::: Madison, Wisc ::: 

>I am also fleshing out a version of a distributed object-
>oriented FORTH for the transputer.
>Rich Thomson	Founder, Oasis Technologies	ARPA: thomson@louie.udel.edu

I implemented a FORTH-like language for the Transputer as our early
board-level monitor for the FPS T-Series.  It was pretty handy for poking
and probing around.

I guess its a dusty-deck, now... :^)

	Andy
-- 
Andy Pfiffer					andy@tcgould.tn.cornell.edu
Cornell Theory Center / Cornell U.		cornell!batcomputer!andy
Home of the first usable T-Series		(607) 255-8686
"...that's the way a Transputer works, right?"  Systems Group

richmond@utah-cs.UUCP (David Richmond) (10/09/87)

We are using FORTH (polyFORTH) for a Multi-User, Multi-tasking SCADA package
(Supervisory Control And Data Aquisition) on a PC.  

David Richmond  -- Scada Corp.

EMAIL = richmond@cs.utah.edu

rfl@oddjob.UChicago.EDU (Bob Loewenstein) (10/10/87)

We control telescopes, motors, and other gadgets. Use it all the time
(single board prom-able forth computers).

schramka@csd4.milw.wisc.edu (Tom Schramka) (10/10/87)

In article <573@louie.udel.EDU> thomson@udel.EDU (Richard Thomson) writes:
>In article <5.21698D15@circle.UUCP> rat@circle.UUCP (David Douthitt) writes:
>>What are all of you people using Forth for?
>
>I am currently using a version of FORTH for the Amiga to do development work
>on a cartographic display program.  I decided to use FORTH since the hardware
>environment on my Amiga is rather limited (compared to a good C development
>environment).  I am also fleshing out a version of a distributed object-
>oriented FORTH for the transputer.  This, strictly speaking, is not what I am
>using FORTH for but what I am writing FORTH for. :-)
>
>>::: David Douthitt ::: Madison, Wisc ::: 
>
>						Rich Thomson
>-- 
 I too am also developing a cartographic data capture, formatting, and
 display system for my thesis project in Geography. I find trying to
 write code in a higher level language (e.g. C or Pascal) just that, "trying"!
 These languages can make hooking up various devices quite difficult.
 To attempt to have a PC talk to a digitizer, a Tek 4113B, an HP plotter, 
 and to the outside world, I can think of no better language. I have been
 fortunate to have the help of two programmers at CSD in my work, as my
 advisor thinks I am somewhat crazy to invest the start-up time in learning
 such an 'unusual' language. The more I code in FORTH, the more I appreciate
 the ease in controlling all these devices, ( which is the origin of the
 language itself.) But I do admit, the amount of time needed to master
 FORTH may seem unacceptable to many people.

 -----
 Thomas F. Schramka               Internet: schramka@csd4.milw.wisc
 Computing Services Division,     UUCP: ihnp4!uwmcsd1!csd4!schramka
 Univ. of Wisconsin- Milwaukee

r2371@tubvax.UUCP (Marcus Verwiebe) (10/12/87)

In article <5.21698D15@circle.UUCP> rat@circle.UUCP (David Douthitt) writes:
>What are all of you people using Forth for?
> 
We are using FORTH as an implementation language for the computer
music system FORMULA written by Dave Anderson and Ron Kuivila at
Berkeley.


-- 
Marcus Verwiebe, Germany
--------------------------------------------------------------------------------
UUCP:   ...pyramid!tub!hex  from the world.    BITNET: hex@db0tui6  
	...unido!tub!hex    from europe only.

oster@dewey.soe.berkeley.edu (David Phillip Oster) (10/13/87)

In article <5.21698D15@circle.UUCP> rat@circle.UUCP (David Douthitt) writes:
>I know, but why not tell what you have used Forth for in the past? 

For a previous employer, I have written educational games in Forth that
were published by:

Disney, (Apple ][)
CBS software (Atari 800, Commodore 64)

and a best selling program that teaches typing, that runs on

IBM PC (we had to rewrite it for the XT, jr, and AT were released,
	because IBM kept changing the hardware definition in important ways.)

and

Macintosh (I had to implement my own Forth 83 implementation, because the
	project was early enough that no development systems with reasonable
	license agreements were available.)

I also wrote the cross-compilation system that let us generate the Atari code
on the Apple ][ (that model of atari had disk with a capacity of 90k,
to keep the source code for the project manageble we had to compile on the
Apple.) I wrote the cross-compilation system that let me compile my initial
Mac systems on the IBM.  I wrote the networking code that tied all these
diverse machines together.  I wrote the object-oriented extensions that
were used in some of our advanced projects.

All of this left me with a profound distaste for Forth. In Forth, it is
easy to write a program of hacker quality, or of research quality, or
of for-internal-use quality.  As soon as you try to write a real, commercial
product, that real people are going to use, that fits on the machine and
runs with reasonable performance, you discover that things work fine
for the first 80%, but getting the program actually finished costs you so
much in time and effort that you would have done better to write the whole
thing in a conventional language.  I now use LightSpeed C, with an object
oriented programming methodology I developed, and am roughly 4 to 10 times
as productive as I used to be in Forth.

Can someone out there tell me how I was misusing Forth? What I was doing
wrong? Is there some magic repository of good Forth style and functionality
that makes "Forth Dimensions" magazine and the source for Novix Forth look
like a child's scrawl? (I read both on my way to learning Forth.)

--- David Phillip Oster            --A Sun 3/60 makes a poor Macintosh II.
Arpa: oster@dewey.soe.berkeley.edu --A Macintosh II makes a poor Sun 3/60.
Uucp: {uwvax,decvax,ihnp4}!ucbvax!oster%d <1ticleYEINDsome c co

anderson@ncrcce.StPaul.NCR.COM (Joel Peter Anderson) (10/13/87)

Hey - this is it - what I am doing right now is use my Commodore 64 
to emulate a VT100; thanks to a great terminal program written in Forth by
somebody named... Louis Sander(sp?).  I use my C64 for work and pleasure to 
access various hosts and systems - and the Forth program is great to do it
is great since adding new features, phone numbers is as  easy as  writing
another word...


-------------------------------------------------------
No one told me to do this - these are my ideas....
   like don't blame my boss, company or anyone else
      -got it?
-------------------------------------------------------
    And if my thought dreams could be seen, 
       they'd probably put my head in a guillotine;
    But its all right ma
       its life and life only!
              (Bob Dylan, "Its all right Ma")
--------------------------------------------------------

koopman@A.GP.CS.CMU.EDU (Philip Koopman) (10/14/87)

There are a surprisingly large number of successful Forth applications,
but many companies choose to downplay or conceal the fact that Forth
was used in the development of a product.  I'll list some of the
projects that I have heard about.  Consider it a random sampling:

For a while (still maybe?) all the prototyping for Atari video game
machines was done in Forth.

At least two space shuttle experiments use Forth.  One has already
flown (I think it was a synthetic aperature radar) and would have
been a complete failure if any other language had been used due
to the need for in-flight reprogramming (these are the words
of the people who ran the experiment.)

Forth Inc. installed an automation system at a Saudi airport 
involving several hundred microprocessors and several thousand
sensors.  Everything was done in Forth.

The Peachtree PC accounting software was written in MVP-FORTH.

The diesel engine diagnostic expert system (one of the first
ones that found commercial use) was not written in Lisp, nor
Prolog -- it was written in Forth.

The Air Force is using Forth to control an autoclave that makes
composite material airplane wings.  The program cures parts
better than any person or any other program can by a factor of
two or three (both in time and in success rate.)

I have personally written a motel control and cash management
program in Forth.

Forth usually finds a good home in systems where complex programs
must be implemented by a small team in a computationally limited
environment.  Forth excells in situations where other programming
languages would run out of memory and/or run out of CPU power.
Forth has the disadvantage that it often comes without a complete
set of tools (e.g. floating point math, string handling.)

Unfortunately, many of the most vocal Forth advocates have world
views which do not coincide with the way it is in the "Real World".
Since Forth is not perceived by most people as a mainstream language,
some companies view their use of Forth as something to keep quiet.

More information about Forth applications is contained in the
Journal of Forth Applications and Reasearch, as well as the
proceedings of the yearly Rochester Forth conference.

Phil Koopman

Arpanet:   koopman@farada.ece.cmu.edu

ian@puivax.UUCP (Ian Wilson) (10/14/87)

I use a portable subset of forth (written in C) as a development
and debug tool. It is useful to support prototype h/w developers
(and then the words written by the developers are always more
accurate than the written documentation ... ); it is useful as
an extensible s/w debug monitor, good for snooping around data
structures of large programs and making quick patches.

Personally I use forth for quick hacks, prototypes, etc. For more
team-oriented tasks I need a more disciplined toolset (this is
probably a confession of weakness).

I have been using this combination approach for 5-6 years now
and it works fine. I have versions for pc/vax/68k/etc/etc....

 ... uunet!ccicpg!puivax!ian

jones@larry.UUCP (Tom Jones) (10/15/87)

We use FORTH in the computers that run the telescopes and
instruments at our Pine Bluff Observatory and also as
ground support equipment for our NASA projects.  The GSE
for the Space Telescope's High Speed Photometer and for
the Wisconsin Ultraviolet Photo-Polarimter Experiment
use FORTH.  The flight software in the latter instrument
is also written in a version of FORTH.c

dlb@stcvax.UUCP (David Black) (10/21/87)

Storage Tech makes IBM compatible disk and tape drives.
The test equipment development group that I work for
uses forth in the engineering equipment that we develop
to support rapid prototyping in the design phase but
uses C for the manufacturing equipment.

We have found forth useful for "quick and dirty," engineering
development where we want to rapidly test a number of ideas.
It also seems to provide a good way to get people who don't
want to learn C to write their own programs,
but it doesn't seem to fit in well enough with the rest of
the applications in a UNIX-based manufacturing support
environment.  Our opinions may change as we get more
experience.

What have been people's experiences with forth in a
"production environment"?  (whatever that may mean to you.)
Are the advantages we see advantages of forth or advantages
that we would see with any interactive language?
-- 
	  David Black
          Storage Technology (Disk Division), Louisville, CO.
		{ucbvax!nbires | ihnp4 | hao} !stcvax!dlb

warner@johnson.cs.unc.edu (Byron Warner) (02/05/88)

Last year when F83, the Forth interpeter for the suns was posted

I did not not get it. Will some one please mail it to me.
Thanks in advance....
.

thomson@utah-cs.UUCP (Richard A Thomson) (02/06/88)

In article <1042@thorin.cs.unc.edu> warner@johnson.cs.unc.edu (Byron Warner) writes:
>Last year when F83, the Forth interpeter for the suns was posted
>I did not not get it. Will some one please mail it to me.
>.

(I tried mailing to the author, but the mailer just hung.)
If you get a copy, please send one my way or tell me where I can get one;
I'm a true believer!			Rich Thomson

tron@amdahl.uts.amdahl.com (Ronald S. Karr) (02/22/88)

In article <1042@thorin.cs.unc.edu> warner@johnson.cs.unc.edu (Byron Warner) writes:
>Last year when F83, the Forth interpeter for the suns was posted
>I did not not get it. Will some one please mail it to me.

When was this?  If somebody finds out where to obtain this I would very
much appreciate receiving mail about it.  I have a forth interpreter
here that I wrote in C, but it is by no means complete.  Having a more
complete PD implementation running on any UNIX machine should be vastly
preferable to what I have right now.
-- 
	tron	|-<=>-|		ARPAnet:  amdahl!tron@Sun.COM
      tron@uts.amdahl.com	UUCPnet:  {decwrl,sun,uunet}!amdahl!tron
[views above shouldn't be viewed as Amdahl views, or as views from Amdahl, or
 as Amdahl views views, or as views by Mr. Amdahl, or as views from his house]

MCADJM1@CMS.UMRCC.AC.UK ("MCADJM1") (03/06/89)

I wonder if anyone can help me.

I am looking for systems where forth is being used excusively in
systems.  I know about the Kitt Peak National Observatory.

If anyone has any information about any aspect of forth, particularly
in industry, please send it to:

<Daniel Morris> MCADJM1 @ UK.AC.UMRCC.CMS

Thanks.

JAJZ801@CALSTATE.BITNET ("Jeff Sicherman,CSU Long Beach") (12/15/89)

  Since I am a forth neophyte myself (played with it more than wrote any
serious applications) but an experienced, and reasonably brave, computer
analyst/programmer/consultant/recreator I have avoided commenting on the
rather high-level ddiscussions in this group. But I feel qualified to
comment on this issue: let's face it; the language is weird !/

   The average person just does not think in reverse polish. In many cases
people have problems thinking logically in forward english. This is not
an abstruction for either the well educated computer scientist (candidate)
or the experience, determined hacker but that's a limited market to sell
to. If it had real potential, you can be sure that Borland or Microsoft
would have given it a try. The technical descriptions for usoft's Quick
language implementations (well, Quickbasic anyway) seem to be forth
inspired if not derived so they seem to see it as a valid concept or even
tool but that places it at a rather high level and not a language for
the masses (or the 'rest of them') where the *big* bucks are.

   Several years ago, at a company I worked for, one of the executives
who had delusions of technical expertise fell in love with a forth-based
database/screen management product which was going to replace the way
we were doing things and avoid the development bottleneck by letting the
customer reps program some stuff themselves. Couldnt convince him of the
unnaturallness issue and he got funding but went predictably nowhere with
it. Several years later (after I left with my negativeness) the company,
having been acquired by a fairly large corporation, which will go unnamed,
decided to go with a forth based environment again for a fairly large
multiuser system with many programmers involved; not geniuses but experienced,
compitent people. The whole idea was scrapped within weeks of the forth
classes starting and more traditional database languages were used.

   Forth seems just too ideosyncratic (sp?) and ill-suited for large
projects with many programmers with average skills. It remains conceptually
powerful and fascinating but that relegates it to a minority of uses and
users for designing tools and even specialized processors and a few
applications with avoid the acceptance and appropriateness constraints.
After all, many people build electronic circuits and projects but a vastly
smaller number design them and design chips. I think the reasons are
similar.

  Jeff Sicherman
  jajz801@calstate.bitnet