
                                    Focal-81
                                    ========

Port version 0.01 (30-Apr-2000)

This is a port of David Conroy's Focal Interpreter. Focal was a language
similar in many respects to BASIC which was developed by DEC for use on
their mainframes.

The language is pretty much useless these days, so this port was made purely
out of interest. The language is strange in some ways, an example of which
is the line numbering scheme. Line numbers in focal are broken into two
parts - a line group number and the line number inside that group. This, to
me anyhow, shows some tendancy towards some form of structured programming,
however small.

Anyhow, have fun with it. It is a toy (it can't even do file I/O) and I
doubt anybody will find any real use for it.


Use
===

The file 'language' gives an outline of the focal programming language.

To use the interpreter, run the file '!CSDHere' and then run the interpreter
itself, 'focal'. When you get the prompt, type 'library call <file>' to load
the file <file> into the interpreter.

Supplied are the files 'foc.queens', which solves the 8 Queens problem and
'foc.sieve' which outputs all the prime numbers between 1 and 1000.

To run whatever program is loaded, just type 'g'.


Deficiencies in the Interpreter
===============================

This port lacks two mechanism which are in Akira Kida's modified version:

 * The 'library delete' command is disabled.
 * The same goes for the 'library list' command.

Also, horizontal tabs don't work properly yet. This is because a tab
character to RISC OS just moves the cursor one space to the right.

This version uses the prompt 'FOCAL *'. This is because the original version
used a '*' prompt which could be confused with the RISC OS shell prompt.

I've not released the source with this version because I want to make the
modifications necessary to get the above commands working before I release
it. Another thing I'd like to add, if I have time, is to allow the user to
specify the file which they want the interpreter to execute on the command
line rather than having to enter the interpreter and use the 'library call'
command.


Credits
=======

Original version by Dave Conroy <mrm@sceard.com>
Modified and debugged by Akira Kida <SDI00379@niftyserve.or.jp>
Ported to RISC OS by Keith Gaughan <keith@gaughan.to>


Copyright (or lack of it)
=========================

Akira KIDA puts all the modifications in the public domain.
Although I'm not sure what the original copyright condition is.


Contacting the Porter
=====================

Email: keith@gaughan.to
WWW:   http://lightning.prohosting.com/~kgaughan/


History
=======

See the file 'Progress' for details.
