[net.lang.forth] FIGIL DIGEST

UMFORTH%WEIZMANN.BITNET@WISCVM.ARPA (09/02/85)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Welcome to the Forth Interest Group International List.

Your name has been added to the list.  Any submissions are mailed
out as quickly as possible (within several days at the outset) to
all members of the list.  Submissions are not usually edited and will
be sent as is.  List participants are responsible for their own
submissions as to accurracy and readability.

Restrictions:
Copyrighted material may not be resent
by this list; commercial transactions are also prohibited.  These are
restrictions of the Host network which acts as the distribution point for
the list.   Also in connection with our host system....

FIGIL is not directly an Arpanet Digest and does NOT have a
separate UMFORTH-REQUEST address, please don't attempt to send mail
to a "request" address.  This only annoys the host's systems people who
have to deal with forwarding mail, at best.  At worst, it will never be
delivered.


Any suggestions, problems, "flames", requests to be added to
the list or dropped from the list, are also received at FIGIL's address:
                    UMFORTH@WEIZMANN.BITNET

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Acknowledge-To:  <UMFORTH@WEIZMANN>

UMFORTH%WEIZMANN.BITNET@WISCVM.ARPA (09/02/85)

Date: 15 Aug 85 08:23:00 EST
From: CPT.GREG.ELDER <elder@wpafb-info1>
Subject: Square Root Forth routine Wanted

I'm new to Forth and am writing a Forth program where I need to
calculate square root.  Does any one have a Forth routine which does
such a calculation, preferably written in fig-Forth but I'll take
any implmentation if one is available.  Please reply to me at
ELDER@WPAFB-INFO1 on ARPANET as I'm not on this mailing list.  Thanks.

Greg Elder
------------------------
To: ELDER@WPAFB-INFO1

Greg: regarding your inquiry on Forth solutions to square roots...

I checked out my rather limited material on FORTH to find a square
root routine.  As the saying goes, there's good news, and their's bad
news.  The good news is that I found one....  The bad news is that
1. It's copyrighted
2. It's machine dependent!

I have Micro-Motion's Forth-79 package which is fairly close to
Fig-Forth and can be used to write portable code which is Fig-Forth
compatible.  In addition to the straightforward standard Forth Word
set, their package includes extensions for Hi-resolution Graphics
and Floating Point Calculations.  These are implemented to remain
an option, separate from the Forth fixed point standard, and to be
as efficient as possible to fit in with the host machine, an Apple II.

What would interest you is the floating point package, since this is
where the Square Root routine resides.  Unfortunately, after reviewing
the source code, several things become apparent.  First of all, although
the actual definition of a square root is simple and short -- only 10
lines of code!!,  this code is actually based upon other definitions
in the floating point package.  The whole package is 37 blocks (1 K each)
which I couldn't send you even if I was willing to type in 37 screens
worth of code into my mainframe system.... these routines are copyrighted
and legally cannot be transferred (especially electronically).
I doubt that they'd do you much good, as much of it is coded into 6502
machine in order to maximize the use of the CPU of the Apple.  I figure
there are around 10-15 screens of prior definitions which are used in
the Square root routine.  Most is low level machine, rather than hi-level
Forth too!  (in the whole package around 2/3 of the code is low level for
the sake of speed).

Where does that leave you?  If you have floating point already
implemented in your installation, then developing a square root
definition shouldn't be all too crazy to attempt.  I suggest you check
out some standard algorithims for square roots, but you'll probably need
a good Comp. Science text for this, the algorithim I found for
square root is too intuitive to translate to a computer (unless you're
into Artificial Intelligence.... the algorithim had the solver of the
square root function picking the closest square of two digits figures,
then subtracting, etc.  The technique was a standard one you learn in
junior high school math, however although it's good for 7th graders
who are pretty reasonably well equiped to deal with intuitive tricks,
it didn't seem a good algothim to translate into a computer language.
But......if you already have floating point this may not apply anyway
since most floating point extensions would have a square root function
built in.

I'll assume you only have a standardized fixed point integer
implementation of Forth.  If that is the case, there should be some
radically different approach one could take in Fixed point to solve for
a square root using only integer calculations.  I 'm sorry to be only
able to turn you back to a search in the literature.  Perhaps you have
a better library than I and can turn up something.

My guess is that a solution relying on the strengths of Forth would be
better and more efficient than finding something of a hi-level solution
in an alternative language and  then translating to Forth.

Good luck.
Tamir Weiner
UMFORTH@WEIZMANN.BITNET
Acknowledge-To:  <UMFORTH@WEIZMANN>

UMFORTH%WEIZMANN.BITNET@WISCVM.ARPA (09/02/85)

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
News from FIGIL:

FIGIL has been pretty quiet lately, and for good reason, aside from
having a low volume of traffic because of the newness of the list,
the network overseas has had a series of breakdowns in the European
and Middle Eastern links.  So we've been unconnected with the USA
for just over a week!  Sorry if it seems like we've been sleeping...


Some of you have asked about archives.  Since the list is new, there
are no archives to be had.  In the interests of posterity, (those who
sign up in the future, FIGIL subscribers should make submissions so we
have something to archive!

FIGIL has no connections to other FORTH lists as yet.  The only digest
which is directly related is the INFO-MACFORTH list....
(Apple MacIntosh users of an implementation of FORTH known as MACFORTH)
We haven't been directly involved with that list yet; perhaps someone
out there can share with the rest of us what is going on with that
list, or any other list of interest.

Reminder to all FIGIL participants that we have only one address:
                    UMFORTH@WEIZMANN.BITNET

Our host system makes an important request....
A reminder to those who may have assumed otherwise,
FIGIL is not directly an Arpanet Digest and does NOT have a
separate UMFORTH-REQUEST address, please don't attempt to send mail
to a "request" address.  This only annoys the host's systems people who
have to deal with forwarding mail, at best.  At worst, it will never be
delivered.

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Date: 28 Aug 85 08:21:46 EDT (Wed)
From: zim%mitre.ARPA@harvunxt.BITNET
The FORTH lists have been pretty inactive lately ... I myself have a little
problem to ask about (narrowly Macintosh oriented, so it may not be appro-
priate for your list):
Can someone suggest a simple way to get drawing-to-the-screen synchronized
with the display refresh?  My specific problem is in a little MacFORTH
animation I'm doing, which involves inverting many regions sequentially;
on the larger ones, there is frequently a flicker problem.  Presumably there
is some memory location I could watch, or some interrupt I could set up,
to get my screen manipulations in sync with the vertical retrace of the
display ... I see some cryptic references in INSIDE MACINTOSH but they are
not helpful ... could I do something as simple as loop until the tickcount
changes?  I'm happy to use a little in-line assembler if necessary....
Tnx for your help!
-z

****************************
Note: Zim also forwarded to FIGIL this message....

From:JAY HELLER To:ALL

Subject:It's Out! Date:8/21/85 7:15
" MacFORTH programming for the rest of us " is out and can be ordered from
Creative Solutions 301/984-0262. The book is in and is real. I have one
sitting on my desk.
****************************

Subject:  FORTH implementations on large systems

The subject came up from someone not on this list, about FORTH
as its implemented on large systems, IBM mainframes, UNIX systems
(VAX, etc.), At our host, FORTH  is not an available option, so I'm
only familiar with micro implementations.

Can anyone else talk about FORTH running on large systems, what vendor
supplies it, how's its performance, how it differes from running on
a micro system, etc.  Has anyone dealt with POLYFORTH before?  I've
heard that it's a fairly sophisticated multi-user FORTH system.

Thanks -
Tamir
UMFORTH@WEIZMANN.BITNET
Acknowledge-To:  <UMFORTH@WEIZMANN>

UMFORTH@WEIZMANN.BITNET (09/26/85)

Date: 20 Sep 85 17:07:21 GMT
From:
        tektronix!uw-beaver!uw-june!entropy!dataio!butler!olivier@ucb-vax.BERKEL
        (Charles Olivier)
Organization: Butler - Controls Div., Kirkland WA
Subject: Looking for a Forth Screen Editor
Sender: usenet@ucb-vax.BERKELEY.Berkeley.Edu
Errors-To: usenet@ucb-vax.BERKELEY.Berkeley.Edu
To: umforth@ucb-vax.BERKELEY.Berkeley.Edu

I'm not sure that my last message got out to the net
so here it is again,
From postnews Thu Aug 29 16:30:11 1985
Subject: Wanted: Screen Editor for polyFORTH
Newsgroups:
        net.emacs,net.lang,net.lang.forth,net.wanted,net.wanted.sources,net.decu
     Presently running polyFORTH level 4 from FORTH INC.
     We are looking for a screen oriented editor for
     source editing done on a VT100/200 series terminal.
     Should be compatible with FORTH screens without useage
     of the FORTH file structure.  Features such as screen
     locking and automatic time stamping are desireable but
     not a requirement.
     Thanks in advance
                                Charles Olivier
                                Controls Division
                                Butler Manufacturing Co.
                                P.O. Box 2249
                                Kirkland, WA 98083
                                (206) 823-7100
                        uucp: uw-beaver!teltone!dataio!butler!olivier
                        &Email
-------------------------------------

Date: Thur, Sept 26, 1985
From: Ronen (yspota@Weizmann.Bitnet)

Looking for information from anyone on the list who can help.
Can someone recommand a good tutorial book on this language?
I have access to the following micros: DIGITAL RAINBOW (running CP/M and
                                       MS/DOS.
                                       MACINTOSH.
Thanks.
Ronen
Acknowledge-To:  <UMFORTH@WEIZMANN>

UMFORTH@WEIZMANN.BITNET (10/01/85)

Date: Thu, 26 Sep 85 14:33:22 PDT
From: bmcg!asgb!benish!asgb!gollem!hageman@sdcsvax.arpa

to Ronen (yspota@Weizmann.Bitnet)

    Some good books are:

    Starting FORTH by Brodie

    Mastering FORTH by Martin Tracy and Co

    Inside FORTH-83 by Ting which is an in-depth study of the
        FORTH-83 system (public domain) written by Henry Laxen
        and Michael Perry.

    "FORTH Applications" I cant remember
        the author but it is mainly associated with building
        FORTH words which handle floating point and the like
        it is instructional after you read Starting forth.

    I suggest reading Starting FORTH first it is funny, keeps your
        attention and will teach you the fundamentals. next,
    read Mastering FORTH .. it is a bit more indepth than Starting
        and will lead you into extending the compiler and having
        that sort of fun.

    If you can get a copy of the FORTH-83 written by Laxen and Perry,
        Ting's book is an excillent text to use if you want to
        get into the internals of FORTH. It is deep but good.

    I hope this is of some help.

George Hageman ( 303-530-6668  ....bmcg!asgb!hageman )
Acknowledge-To:  <UMFORTH@WEIZMANN>

UMFORTH@WEIZMANN.BITNET (10/11/85)

Date:  8 Oct 85 18:24:38 CDT
From: BARRY@CIT-20.ARPA
ReSent-Date:  9 Oct 1985 13:40:20 PDT
ReSent-From: Barry Megdal <BARRY@CIT-20.ARPA>
Subject: Forths

I am a newcomer to Forth, but am rapidly getting hooked.  I am
looking for advice in two areas:

1) I need a good "professional" Forth system for the IBM PC, to use
as a general development environment.  Features such as full floating-
point and operating system support are important.  Any recommendations/
reviews would be greatly appreciated.

2) I need to bring up a Forth environment on a Motorola 68HC11 processor.
This is a neat new chip that integrates every feature anyone could want
in a one-chip processor.  It has a superset of the 6800 instruction set.
Any advice on available 6800 Forths, or on the shortest path to my
bringing one up would be great.

Thanks in advance.

-Barry
Acknowledge-To:  <UMFORTH@WEIZMANN>

mj@myrias.UUCP (Michal Jaegermann) (10/14/85)

Get an August issue (?I think?) of "Computer Language". It contains
a review of 15 - I believe - implementations of Forth. All of them 
but two for IBM PC.

tbm@hou2a.UUCP (T.MERRICK) (10/17/85)

Are any of those reviews about a VAX runnable forth implementation?
Does anyone have pointers to a Forth implementation in C to run
under UNIX(tm)?

Please reply to:
Tom Merrick 617-681-6436
.....!hou2a!tbm or .....!mvux[ebti]!tbm
at ATT BTL in N. Andover Ma
TIA.

UMFORTH@WEIZMANN.BITNET (10/21/85)

From: ihnp4!ihlpg!timborn@ucbjade.Berkeley.Edu
Message-Id: <8510112140.AA20888@UCB-VAX>
Date: 11 Oct 85 15:05:54 CDT (Fri)
Received: by ihnp4.ATT.UUCP id AA01512; 11 Oct 85 15:05:54 CDT (Fri)
To: ihnp4!ucbvax!WEIZMANN.BITNET!UMFORTH@ucbjade.Berkeley.Edu
Subject: Re: FIGIL DIGEST
References: <8510110938.AA09626@UCB-VAX.ARPA>

As for bringing up Forth on a new chip.  If you have a reasonable grasp of
Forth internals, you may want to contact the Forth Interest Group (FIG) in
California.  They will sell (for a nominal price) the sources for Forth for
almost any processor around.  Although they may not have yours yet, you say
it's close to the 6800.  Given the source + installation manual + time, you
could probably build your own from the ground up.

tim
...ihnp4!ihlpg!timborn
-------------------------------------------------------------------------

Date: Mon, 14 Oct 85 12:10:38 cdt
From: ihnp4!stolaf!umn-cs!mmm!plumbo@ucbjade.Berkeley.Edu (Philip Plumbo)
Newsgroups: net.lang.forth
Subject: re FIGIL DIGEST
Organization: 3M Company, St. Paul, Minn.
>Sent-From: Barry Megdal <BARRY@CIT-20.ARPA>
>Subject: Forths
>
>1) I need a good "professional" Forth system for the IBM PC, to use
>as a general development environment.  Features such as full floating-

I would suggest polyForth from Forth, Inc as a professional, consistent,
and well-documented implementation of the language for the IBM-PC. I have
several years of experience using various Forths in different projects
(most recently: The AirFone air-to-ground telephone system) and have found
polyForth to be a reliable, fast, and well-debugged system.

The kernel uses a simple, efficient multi-tasker, and includes support for
source screen 'shadows', which may contain the documentation for a specific
screen.  The implementation of this feature on the IBM-PC with the IBM
monochrome monitor (without graphics card) is extremely fast, giving the
user the impression that the documentation lives beneath the source, to be
switched into view in an instant.  The 'DOCUMENTOR' utility also allows
the rapid generation of an application glossary.

>
>2) I need to bring up a Forth environment on a Motorola 68HC11 processor.

Forth, Inc has a wide range of 'target' (cross-) compilers available,
including one for the 6800.  You would develop, document and maintain on the
PC, and ship compiled code to the 6811.  The 'target' system would (if
desired) have its own Forth interpreter, (multi-tasking) and full dictionary,
(useful during development phase), or could be compiled as a minimum-memory
turnkey system, with no interpreter, no dictionary heads, etc. to save space.

In summary: Fast, professional, maintainable.


>
>-Barry
>Acknowledge-To:  <UMFORTH@WEIZMANN>

-Philip Plumbo
-------------------------------------------------------------------------
Acknowledge-To:  <UMFORTH@WEIZMANN>

peter@baylor.UUCP (Peter da Silva) (10/30/85)

> I would suggest polyForth from Forth, Inc as a professional, consistent,
> and well-documented implementation of the language for the IBM-PC. I have
> several years of experience using various Forths in different projects

So have I, and PolyForth fails badly in one important respect:

	THE DEVELOPMENT SYSTEM DOES NOT RUN UNDER MS-DOS.

This means that:

	- You cannot run it under DoubleDos, or with Sidekick, or use any
	  of the other tools that try to make the PC a usable software
	  development environment.
	- You cannot easily transfer files between MS-DOS and Forth screens.
	- You cannot use it on anything but an IBM or a good clone.

Fig-Forth, while it requires you to write more software, helps you by letting
you work under MS-DOS... or whatever other O/S you are using. I wouldn't dream
of using another Forth that requires you to discard the native O/S after my
experiences with PolyForth.

Otherwise, you're quite right. The multitasker is nice, and the fact that the
same system is available for a wide variety of processors is extremely useful.
But if you want respect from your system, it's a total loss.
-- 
-- Peter da Silva
-- UUCP: ...!shell!{baylor,graffiti}!peter; MCI: PDASILVA; CIS: 70216,1076

toma@tekchips.UUCP (Tom Almy) (11/04/85)

In article <603@baylor.UUCP> peter@baylor.UUCP (Peter da Silva) writes:
>> I would suggest polyForth from Forth, Inc as a professional, consistent,
>> and well-documented implementation of the language for the IBM-PC. I have
>> several years of experience using various Forths in different projects
>
>So have I, and PolyForth fails badly in one important respect:
>
>	THE DEVELOPMENT SYSTEM DOES NOT RUN UNDER MS-DOS.
>
	
According to their latest price sheet they have seen the error of their
ways.  There is now a generic MS-DOS version.  There is also a standalone
version that used IBM ROM BIOS calls (the original version bypassed the
BIOS and would not run on my otherwise PC Clone).

Personally, I don't like several things about polyForth -- they seem to be
very nonstandard (funny vocabulary implementation, screwball assembler), and
their documentation is hard to follow.  The system is so minimal that error
messages are indecipherable and the user interface is fairly unfriendly.
Theirs is the only Forth I have seen where if you type in a colon definition
that is more than one line long, you have to put a "]" at the start of each
additional line.  They also don't provide a WORDS or VLIST word.

I have been very satisfied using Laboratory Microsystems Forths, but I should
point out some bias in that I have some products (native code compilers) sold
by them.  But then the reason that I have given them my compilers to sell is 
that I had been a satisfied customer.

Tom Almy