It is currently Tue, 07 Dec 2021 02:51:24 GMT



 
Author Message
 New C-based Forth available
Dear Linux friend,

A new programming language is available for Linux users now.
It's Forth, a stack oriented, extensible language well suited
mainly for embedded control, robotics and the like. An ANSI
standard for Forth is on the way and this system will conform
to it.

The Forth-system was developed with Linux and is relatively new.
Meanwhile it has undergone some testing and evolved significantly
to a state that seems stable enough to run severe applications.

Unfortunately there is not much documentation yet. If you encounter
any problems, please let me know.

For more details I enclose the README file below.

Give it a try!

Dirk Zoller
e-mail: d...@roxi.rz.fht-mannheim.de

-------------------------------------------------------------------------
This is the file README and belongs to version 0.8.0 of August 10th, 1993
of the portable Forth-environment.
-------------------------------------------------------------------------

What is it?
===========

This package contains all neccessary ANSI-C source files to build
a running Forth-environment on most UNIX machines. It's tested with

        - IBM-PC compatible running Linux (development platform)
        - IBM RS6000 running AIX 3.x
        - HP 9000 series 700 running HP-UX

I took however any effort to keep it easily portable to any computer
capable of true ANSI-C and having a straight 32-Bit architecture.
This especially means that it probably will never run under MS-DOS,
but OS/2 and Windows or Ataris and Amigas should be within reach.

The Forth-system is modeled with the coming ANS for Forth in mind.
I implemented every word of every word set mentioned in the dpANS-5
document of january 1993. Additionally it is compatible to Forth-83.

This set of source files is distributed under the GNU general public
license. See the file COPYING for conditions.

Why did I do it?
================

There was no such thing. See below, design objectives.

Design objectives
=================

With two elaborate standards at hand, one for C, one for Forth, it
should be possible to build one language in terms of the other and
thus provide both where at least one is available.

While I leave the writing of an ANSI-C compiler in Forth to those
who really believe in Forth's superiority and universality,
I concentrated on the manageable part: Providing a Forth-system
in ANSI-C that is

        - CORRECT       this means not just "no bugs" -- it means all
                        the interaction of all parts works as specified
                        by the standard AND by traditions.

        - COMPLETE      with powerful computers on the desk and power-
                        ful programming environments there is no need
                        to and no use in strategies like "here kernel,
                        there xyz word set" that might be appropriate
                        on a microcontroller.

        - PORTABLE      I hate to rewrite code because of environmental
                        dependencies. Most of the system should be a mere
                        interface between two well defined languages.
                        There are of course such dependencies. But they
                        are documented and factored out in separate
                        input files.

        - USABLE        A sole kernel helps noone. It should be an
                        development environment. You should be able
                        to manage multiple-source-file-projects from
                        within.

        - SIMPLE        or transparent. At least to my taste.

Maybe you miss the design objective SPEED. It was not my goal to provide
the fastest C-based Forth-environment. This would have led to a lot of
conflicts with much more important goals. We all have fast computers,
haven't we?

Status
======

Did I achieve the above objectives? Some of them.
I'll continue working on it.

The system has undergone a two weeks review period now and there were
several quite obvious bugs fixed. While there surely are some more, they
are not as obvious since the system passes several test programs, some
of them rather sophisticated.

Once you get the system running, you'll have

        - all dpANS word sets.

        - several more words provided for compatibility and convenience

        - an interface to a text editor to edit plain text sources
          and the ability to include them.

        - a word star lookalike block file editor to write
          source in the old style block format

Thus you'll be able to edit, compile an run programs in a moderately
comfortable way. For the final design of the development environment
your suggestions are welcome!

If you try this system, please keep in mind that it is still an
early release. I appreciate every hint to a bug.
Please check for the latest version via anonymous ftp from

        roxi.rz.fht-mannheim.de

where the latest version is updated at least weekly in the file

        /pub/unix/languages/pfe-?.?.?.tar.Z

Please send suggestions and bug reports via e-mail to

        d...@roxi.rz.fht-mannheim.de

Usage
=====

Once you have it running and see the "ok" prompt after typing return
you can interactively type in forth words. If you mistype, you can edit
the command line and recall old command lines with the arrow keys.

To write some more statements try "EDIT-TEXT filename". This will
invoke your favorite text-file editor on the given file. If it
doesn't, check the file "const.h" for the #defined symbol "EDITOR_IS".

Having written some code you can load it by "INCLUDE filename".

If you prefer the old style block files, give a file to use as block-file
with the -b commandline option. Then you can edit a block by "n EDIT-BLOCK".
If your termcap-mechanism works, the arrow keys and some other function
keys should be active. Quit the editor with ^U and load blocks with
"n LOAD".

If you want to change the active block file, type "USING filename".

For more commandline options try the option -h.

The interrupt key is remapped to ^U and leads back to the FORTH input
loop. Use it to break out of infinite loops.
To terminate the system, type BYE at the command-prompt or press the
keyboard quit key of your system (usually ^\).

Documentation
=============

Currently there is none. Try to get the dpANS-document, which is an
EXCELLENT REFERENCE for this system!
You can ftp it at ftp.uu.net in the directory /vendor/minerva/x3j14.

Acknowledgements
================

I want to express my gratitude for inspiration taken from the following
documents:

 - draft proposed American National Standard -- Programming Languages -- Forth
   (X3J14 dpANS-5, January 30, 1993)

 - FORTH-83 Standard (August 1983)

 - fig-FORTH Installation Manual -- Glossary, Model, Editor
   (Version 1.3, November 1980)

These people gave me valuable hints to possible improvements and were
patient enough to try the very first releases:
Lennert Benschop, Kevin Haddock, Giorgio Richelli, Marko Teiste.

Thank You.
-------------------------------------------------------------------------

==============================================================================
From: d...@roxi.rz.fht-mannheim.de === Ceterum censeo WINDOWSinem esse deletam.
==============================================================================

--
Send submissions for comp.os.linux.announce to: linux-annou...@tc.cornell.edu



 Mon, 29 Jan 1996 05:31:12 GMT   
 
   [ 1 post ] 

Similar Threads

1. Q: forth for linux available somewhere?

2. Accton EN1207 10/100Mb card (based on dec 21140 cs)

3. Trouble with cs 4232 based sound card

4. DikuMUD derivative (CircleMUD 2.11) available at ftp.cs.jhu.edu

5. Home Based Employment Now Available

6. 3c905 Driver Available for Sun PCI Based Ultrasparc systems

7. Data-Base gerenciator freeware available??

8. are 56k PCI MODEMs (controller based) still available ?

9. PCI: Device 00:1f.1 not available because of resource collisions (845 based motherboards)

10. Is there PC based Xterminal software available


 
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software