Ghost Of Christmas Past 
Author Message
 Ghost Of Christmas Past

Greetings, Y'all:

Perhaps some of you on this list will remember me.

I haven't been able to do Forth professionally for some years. But now,
there may be an opportunity to slip Forth into a project that I am
working on. If I am successful, there will hopefully be more opportunities.

For anyone who cares, I am a Member of Technical Staff in the Digital
Video Department of the R&D lab for A Very Large Japanese Consumer
Electronics Company. I've lived in Portland for the last 11 years and
have been working primarily in assembler or Java or C or Visual Basic or
Perl or whatever, but not Forth. I still use Forth regularly, but
whenever I bring it up, I get shot down.

But not this time, maybe. Of course, I can't tell you anything about the
project, but suffice it to say, it is very cool.

So here's what I need:

1) A cross-compiled Forth targeted at some very low cost 32 bit
processor (SH3, ARM, MIPS, whatever). This is VERY cost sensative, so I
can't pay royalties or tons of up-front costs (sorry, Elizabeth). In
fact, any initial expenses are going to come out of my own pocket and
maybe I can get reimbursed later.

2) A TCP/IP stack on top of a 802.11b driver (there are only two major
802.11b chip makers out there, so it can be either one).

3) A basic graphics library, but with things like font metrics, etc. I
suppose I could pre-render them, but then the images for multiple
languages would take up way to much space. The languages that need to be
initially supported are English, French, Spanish, and Japanese. Other
languages would quickly follow.

And of course,

4) A low cost target eval board for said processor, with some prototype
area, so I can glue on my hardware. I am NOT a hardware engineer, but I
know which end of a soldering iron to hold and I can read a scope.

It seems that there can be some very interesting politics between Japan
side and here and within the Lab there are some politics that would
impress even the most jaded academic. And there is my window of opportunity.

I figure I have two months to pull this off with another engineer I
trust and about the time the infighting has finally sucked everyone else
in, my friend and I can set down a very low cost piece of hardware and
software and say, "See, it doesn't have to be that hard." And we will be
publicly the heroes, while some of the pond scum will be plotting their
vengence for actually solving a problem instead of playing their head games.

Do I sound frustrated?

So, is there anything like this out there?

I don't have time to write all this stuff from scratch, since I have to
look busy going to status meetings and writing reports on why nothing is
happening. But I would REALLY like to get the Principal Engineer's
knickers in a bind with something that works and is cheap. That would
really make my day.

At any rate, warm regards to you all.

Peas In Our Thyme,
Ron Braithwaite



Fri, 01 Apr 2005 12:20:35 GMT  
 Ghost Of Christmas Past


Quote:
>So here's what I need:

MPE can supply everything you need! See the website for more details.

Quote:
>1) A cross-compiled Forth targeted at some very low cost 32 bit
>processor (SH3, ARM, MIPS, whatever).

We have a VFX compiler for ARM, and there's an older one for
MIPS 3000/4000. Target code is usually royalty free. Samsung
are selling very low-cost ARMs at the moment.

Quote:
>2) A TCP/IP stack on top of a 802.11b driver (there are only two major
>802.11b chip makers out there, so it can be either one).

We have the PowerNet stack with Ethernet and serial drivers.

Quote:
>3) A basic graphics library, but with things like font metrics, etc. I
>suppose I could pre-render them, but then the images for multiple
>languages would take up way to much space.

We have graphics code for QVGA LCDs and tools to support them.
We also have an internationalisation library.

Quote:
>4) A low cost target eval board for said processor,

See the MPE ARM Development Kit.

Stephen
--

MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeltd.demon.co.uk - free VFX Forth downloads



Fri, 01 Apr 2005 18:28:11 GMT  
 Ghost Of Christmas Past


Quote:
> I still use Forth regularly, but
> whenever I bring it up, I get shot down.

As a side discussion, it would be valuable to understand why it is shot
down-- what were the reasons given for using Forth, and what were the
objections given.  Are you for example part of a team and there is a concern
about the time needed to train the team to be effective in Forth?  Are you
not open to a blended approach where Forth is used to call code in other
languages, providing an interactive and extensible framework for code in
other langauges?  At least in this newsgroup, I get the feeling the reason
why Forth is "shot down" so often is that advocates present Forth as an
all-or-nothing thing-- that if they can't use Forth for *everything* then
they don't want to use it.

In my experience, I've been able to bring Forth to projects by not being an
absolutist-- by blending the strengths of multiple languages.  I've also
found it trivial to "sell" Forth when it provides obvious and immediate
benefit; nobody at all ever complained when I used Forth to help initially
bring up hardware, essentially as a sophisticated programmable monitor to
let the hardware people do something useful with the system.  And once you
get your "foot in the door," it's easier later to sprinkle Forth elsewhere--
when it makes sense, of course.

Quote:
> 2) A TCP/IP stack on top of a 802.11b driver (there
> are only two major 802.11b chip makers out there,
> so it can be either one).

If you end up not finding a TCP/IP stack that does what you want, you can
consider embedding Linux or FreeBSD and have your application ride on top of
that.

Quote:
> 3) A basic graphics library, but with things like font
> metrics, etc. I  suppose I could pre-render them, but
> then the images for multiple languages would take up
> way to much space. The languages that need to be
> initially supported are English, French, Spanish, and
> Japanese. Other languages would quickly follow.

You might want to look at building Forth bindings to a package like
FreeType.  With FreeType, you could use a variety of standard fonts used on
desktop PCs, and have these fonts rendered with their high-quality engine
that does "hinting" and anti-aliasing.  I've used FreeType to pre-render
fonts and even without the TrueType license from Apple, it does a beautiful
job.


Fri, 01 Apr 2005 21:24:54 GMT  
 Ghost Of Christmas Past

Quote:

> As a side discussion, it would be valuable to understand why it is shot
> down-- what were the reasons given for using Forth, and what were the
> objections given.

Would be interesting. The most frequent reason for me to get shot down is
other people not knowing anything about what I propose. E.g. I proposed
using{*filter*}and a nice GUI frontend (LyX) for documents, and the Word users
don't want to change (perhaps that's because the Word users are in the
generation 50+). On the other side, the Word haters readily joined my short
training, and were fully productive after some hours and a few hints where
to find what.

--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://www.*-*-*.com/ ~paysan/



Fri, 01 Apr 2005 23:42:03 GMT  
 Ghost Of Christmas Past


Quote:
> Would be interesting. The most frequent reason for
> me to get shot down is other people not knowing
> anything about what I propose.

If one acts as an advocate for using Forth to a group that knows nothing
about it, then in addition to being an advocate, one must be an educator.
If one doesn't do this, they shouldn't be at all surprised that they are
"shot down."

A quick parallel example.  There is an application I'm involved in now that
I think would benefit greatly from using XML and the Document Object Model.
As I learned, the others I'm working with know nothing about XML and related
technologies, so I wasn't at all surprised when my initial suggestion to use
XML and DOM were shot down.  So I switched into educator role, and spend a
little time constructing some demonstrations of the core ideas that I
thought would benefit the application.  After showing them, they understood,
and now we're going with my scheme.

Personally, I think the only people who have a problem "selling" Forth to
others are those who are being inflexible and absolutist.  Blending the
strengths of Forth with other languages is a model that is far safer and
allows "testing the waters" without making a full-blown commitment to Forth.



Sat, 02 Apr 2005 01:43:15 GMT  
 Ghost Of Christmas Past

Quote:

> Personally, I think the only people who have a
> problem "selling" Forth to others are those who
> are being inflexible and absolutist.  Blending the
> strengths of Forth with other languages is a model
> that is far safer and allows "testing the waters"
> without making a full-blown commitment to Forth.

Personally, I think that is what has mostly killed off
Forth.  Things like a Forth-like interpreter in Perl
being 'sold' as 'Forth', and as delivering
'the best of both worlds.'

best wishes,
Jeff Fox



Sat, 02 Apr 2005 03:03:28 GMT  
 Ghost Of Christmas Past
I just started learning Forth about a month ago.  I learned about it from a
friend a couple of years ago.  I had never heard of it, so I went home and
searched the internet for it.  I found the fig site and followed a link to a
tutorial on the pForth site.

I downloaded pForth and ran through the tutorial.  I found Forth to be a
very interesting language, but not one that seemed to be of any use outside
the hardware areana (from various documents I read).  I moved on.

I was reading a post on comp.lang.functional, about a month or two ago,
anouncing a new Haskell like language that was smaller and easier to use.  I
went to the site, and I saw a language that looked like the merging of Forth
and Haskell.  I thought that this was interesting.

Also, about a month or two ago, I started reading a book called "Virtual
Machine Design and Implementation in C/C++".  This book reviews a register
based  virtual machine that the author had written.  This book got me
thinking about the Parrot VM being designed in the Perl community for Perl
6.  It also is a register machine.  One of the Perl developers stated that
the desicion to use a register machie over a stack machine was that Perl 5
spends most of it's execution time in stack manipulation.  This seemed to be
sited as performance hit. .NET and Java both use stack machines and I
thought I remembered that some Forths could run as fast as C.

I proceeded to investigate Forth again.  I started looking at the system
file that came with pForth.  I was amazed to discover that IF was not a word
needed by the interpreter.  I started wondering what the immediate word did.
I started to reread the "Build Your Own Forth" and the papers by Brad
Rodriguez that I had read originally.  While no real concrete information
was found, I was begining to understand the concepts of the immediate word.
I understood enough to know that this seems like a big peice of the real
magic behind Forth.  The possibilities seemed endless.

I think that Forth has applications beyond hardware that need to be
explored.  It could easily compete as a first language in programming
courses.  Using material like that found in "Thinking Forth" would be of
great value to new students, even it they never acutally used Forth in real
life.  Forth can also be used to solve very hard problems.  The method of
factoring software is a great concept that seems to be lost.  In this
capasity, it would aslo be a good prototype tool for testing ideas.  It
would make a great embeded language for controlling other software.  It's
potential is limited only by the information available.

Finding information on Forth is hard.  There is a lot of information on
Forth's hardware applications, but there is very little information about it
in the role of a general application tool.  There is also very little
information on the concepts behind Forth outside those I've mentioned above
and some of your (Jeff) articles.

I'm sorry for the length of this, I just wanted to share my experiences and
ideas.  If you are curious about me:  I've been developing software
proffesionally for about five years now and have a strong interest in
programming language design.


Quote:

> > Personally, I think the only people who have a
> > problem "selling" Forth to others are those who
> > are being inflexible and absolutist.  Blending the
> > strengths of Forth with other languages is a model
> > that is far safer and allows "testing the waters"
> > without making a full-blown commitment to Forth.

> Personally, I think that is what has mostly killed off
> Forth.  Things like a Forth-like interpreter in Perl
> being 'sold' as 'Forth', and as delivering
> 'the best of both worlds.'

> best wishes,
> Jeff Fox



Sat, 02 Apr 2005 07:57:10 GMT  
 Ghost Of Christmas Past

Quote:

> I just started learning Forth about a month ago.  I learned about it from a
> friend a couple of years ago.  I had never heard of it, so I went home and
> searched the internet for it.  I found the fig site and followed a link to a
> tutorial on the pForth site.

> I downloaded pForth and ran through the tutorial.  I found Forth to be a
> very interesting language, but not one that seemed to be of any use outside
> the hardware areana (from various documents I read).  I moved on.

I'm not sure what documents you've read, but Forth has been used in
a very wide variety of application domains (although it was, indeed,
originally developed for embedded-type applications and is still
widely used there).

Others here may have heard me tell this story before:  Chuck Moore's
first complete Forth systems were developed at the National Radio
Astronomy Observatory for telescope control, data acquisition & analysis
at its Tucson division in the early 1970's.  Shortly thereafter he
made a mainframe version for data analysis used in the C{*filter*}tesville,
VA, main laboratory.  For years the folks in Tucson said, "Forth is
really a great language, but it's only useful for on-line systems."
At the same time, the folks in C{*filter*}tesville were saying, "Forth is
really great for data analysis, but it's useless for on-line control."

The reason for this seeming contradiction is that Forth has a
chameleon-like quality of adapting easily to being an "application-
oriented language" for whatever specific application domain it's
being used in, so whatever version you see is likely to be
specialized in some way.

Quote:
> I think that Forth has applications beyond hardware that need to be
> explored.  It could easily compete as a first language in programming
> courses.  Using material like that found in "Thinking Forth" would be of
> great value to new students, even it they never acutally used Forth in real
> life.  Forth can also be used to solve very hard problems.  The method of
> factoring software is a great concept that seems to be lost.  In this
> capasity, it would aslo be a good prototype tool for testing ideas.  It
> would make a great embeded language for controlling other software.  It's
> potential is limited only by the information available.

> Finding information on Forth is hard.  There is a lot of information on
> Forth's hardware applications, but there is very little information about it
> in the role of a general application tool.  There is also very little
> information on the concepts behind Forth outside those I've mentioned above
> and some of your (Jeff) articles.

Have you been to our web site, www.forth.com?  We have a lot of
application notes, an extended paper on the history of Forth, and
some books for sale (as well as systems) describing underlying
concepts, which you may find helpful.

Cheers,
Elizabeth

--
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310-491-3356
5155 W. Rosecrans Ave. #1018  Fax: +1 310-978-9454
Hawthorne, CA 90250
http://www.*-*-*.com/

"Forth-based products and Services for real-time
applications since 1973."
==================================================



Sat, 02 Apr 2005 08:39:01 GMT  
 Ghost Of Christmas Past

Quote:

> I was reading a post on comp.lang.functional, about a month or two ago,
> anouncing a new Haskell like language that was smaller and easier to use.  I
> went to the site, and I saw a language that looked like the merging of Forth
> and Haskell.  I thought that this was interesting.

Me too.  Do you have a reference?

Thanks,
Andrew.



Sat, 02 Apr 2005 18:08:23 GMT  
 Ghost Of Christmas Past

Quote:


> > I was reading a post on comp.lang.functional, about a month or two ago,
> > anouncing a new Haskell like language that was smaller and easier to use.  I
> > went to the site, and I saw a language that looked like the merging of Forth
> > and Haskell.  I thought that this was interesting.

> Me too.  Do you have a reference?

> Thanks,
> Andrew.

 Hi Andrew,

 You could easily build a Forth-like language on the top of the
Objective Caml compiler using the Camlp4 preprocessor (available with
the current distribution).
 As Bernd pointed out last week, the resulting language may have a quite
complicated syntax (with respect to Forth, of course!), especially if
you want to keep (a subset of) Objective Caml's syntax in order to
handle "pattern matching" (which is one the most powerful aspects of
modern functional languages like Objective Caml and Haskell).

 Cheers,

 Sebastien.



Sat, 02 Apr 2005 19:45:33 GMT  
 Ghost Of Christmas Past

Quote:



<snip>

> > 2) A TCP/IP stack on top of a 802.11b driver (there
> > are only two major 802.11b chip makers out there,
> > so it can be either one).

> If you end up not finding a TCP/IP stack that does what you want, you can
> consider embedding Linux or FreeBSD and have your application ride on top
of
> that.

> > 3) A basic graphics library, but with things like font
> > metrics, etc. I suppose I could pre-render them, but
> > then the images for multiple languages would take up
> > way to much space. The languages that need to be
> > initially supported are English, French, Spanish, and
> > Japanese. Other languages would quickly follow.

> You might want to look at building Forth bindings to a package like
> FreeType. With FreeType, you could use a variety of standard fonts used on
> desktop PCs, and have these fonts rendered with their high-quality engine
> that does "hinting" and anti-aliasing. I've used FreeType to pre-render
> fonts and even without the TrueType license from Apple, it does a
beautiful
> job.

Linux definitely has its place and I use it in a wide variety of projects.
However, Linux is not a real time operating system and the kluges required
to sort of make it run real-time (i.e., the RTLinux kernel, etc) are very
problematic (I don't want to get into arguing over Linux religious issues in
a Forth news group).

But most importantly, is that the requirement I described in the first place
was for an extremely low cost solution. Part of that is the ability to run
XIP or eXicute In Place -- the ability to run out of ROM. Forth can do that
easily. Linux can't.

There's other reasons, too, but suffice it to say that for _most_ (but not
all) embedded products, Linux is not a real option.

Peace,
-Ron



Sun, 03 Apr 2005 04:03:00 GMT  
 Ghost Of Christmas Past

Quote:



> > I still use Forth regularly, but
> > whenever I bring it up, I get shot down.

> As a side discussion, it would be valuable to understand why it is shot
> down-- what were the reasons given for using Forth, and what were the
> objections given.  Are you for example part of a team and there is a
concern
> about the time needed to train the team to be effective in Forth?  Are you
> not open to a blended approach where Forth is used to call code in other
> languages, providing an interactive and extensible framework for code in
> other langauges?  At least in this newsgroup, I get the feeling the reason
> why Forth is "shot down" so often is that advocates present Forth as an
> all-or-nothing thing-- that if they can't use Forth for *everything* then
> they don't want to use it.

> In my experience, I've been able to bring Forth to projects by not being
an
> absolutist-- by blending the strengths of multiple languages.  I've also
> found it trivial to "sell" Forth when it provides obvious and immediate
> benefit; nobody at all ever complained when I used Forth to help initially
> bring up hardware, essentially as a sophisticated programmable monitor to
> let the hardware people do something useful with the system.  And once you
> get your "foot in the door," it's easier later to sprinkle Forth
elsewhere--
> when it makes sense, of course.

Well, I wasn't going to respond to this, since this discussion has been
going on for longer than the 23 years I've been using Forth. Although I
haven't been able to use Forth in commercial projects for some time, I have
certainly kept my hand in.

There are a number of reasons why Forth isn't more widely used, but in
almost every case it boils down to RPN. Unless a prospective user grew up on
Post-Fix Notation with HP calculators, like I did, they are not likely
candidates for the language. Its an emotional argument, having to say more
about a person's adaptability and mental agility than making any rational
statement about Post-Fix versus In-Fix or Pre-Fix languages.

That said, I do get annoyed at post-fix assemblers. If I'm writing code
regularly in a regular (non-Forth) macro assembler, I can easily change
between using 0x, H', and $ as hexadecimal prefixes, but I don't deal nearly

with a 3 argument assembler or with DSP code. I just *think* using standard
assembler and perhaps that's what I get for not being able to work in Forth
every day (although I complained about that enough that I finally wrote my
own "standard" assemblers when I was making my living from Forth).

At any rate, all of the other issues such as name spaces, availability of
standard libraries, distribution of library object instead of source, etc,
is just additional justification for some folk's prejudices against post-fix
code.

At least in my NSHO.

Peace,
-Ron



Sun, 03 Apr 2005 04:15:24 GMT  
 Ghost Of Christmas Past
On Mon, 14 Oct 2002 23:57:10 GMT, "news.verizon.net"

Quote:

>Finding information on Forth is hard.  There is a lot of information on
>Forth's hardware applications, but there is very little information about it
>in the role of a general application tool.  There is also very little
>information on the concepts behind Forth outside those I've mentioned above
>and some of your (Jeff) articles.

There is quite a lot of information in Forthwrite magazine about
applications. (Forthwrite is published every 2 months and can be
downloaded free from http://www.fig-uk.org

The Forth News (at the same site) reports significant events in Forth
spanning the last 4 years. It provides a useful summary of the state
of the global Forth community.

Hope this helps.

Bye for now                       ____/  /  __  /   /   /   /   /
                                 /      /  /  _/   /   /   /  /
Chris Jakeman                   __/    /  / __    /   /   /_/
                               /      /  /   /   /   /   /  \
[To reply, please           __/    __/  ____/    ___/ __/   _\
 unspam my address]
                           Forth Interest Group United Kingdom
Voice +44 (0)1733 352373   chapter at http://www.fig-uk.org



Sun, 03 Apr 2005 05:53:30 GMT  
 Ghost Of Christmas Past
Yes, it is a language called Joy.  A lazy, functional Forth like language.

http://www.latrobe.edu.au/philosophy/phimvt/joy.html

-John


Quote:

> > I was reading a post on comp.lang.functional, about a month or two ago,
> > anouncing a new Haskell like language that was smaller and easier to
use.  I
> > went to the site, and I saw a language that looked like the merging of
Forth
> > and Haskell.  I thought that this was interesting.

> Me too.  Do you have a reference?

> Thanks,
> Andrew.



Sun, 03 Apr 2005 09:43:24 GMT  
 Ghost Of Christmas Past


Quote:
> Personally, I think that is what has mostly killed off
> Forth.  Things like a Forth-like interpreter in Perl
> being 'sold' as 'Forth', and as delivering
> 'the best of both worlds.'

You'll have to show me the specific examples you're talking about.  The only
instance of a Forth-like language in written in Perl is one that I did for
myself as an intellectual exercise.  It was never "sold" as a solution to
anything but my own curiosity and to quickly prototype some ideas.

If you have specific examples of what it is you're talking about, I'd love
to read about them.  Until then, I'll assume you are in the absolutist camp
of people who believe that unless a solution is coded entirely in Forth it
has no value in demonstrating the value of Forth.  I find that viewpoint
quite limiting and only serves to further force Forth into a niche role.

What *I* am talking about is quite different and is nothing new or radical.
When you look at Forth implementations such as FICL and ATLAST, you see
exactly what I am talking about.  These are Forth implementations that allow
people to build bridges between languages like C and Forth, giving them the
benefits of both.



Mon, 04 Apr 2005 00:29:55 GMT  
 
 [ 132 post ]  Go to page: [1] [2] [3] [4] [5] [6] [7] [8] [9]

 Relevant Pages 

1. Ghosts Of Christmas Past

2. Ghosts Of Christmas Past

3. VST 3.01: Ghost Menus with TextPaneControl

4. Help !!! Repost image has ghost and distortion

5. Silver Ghost Templates

6. Ghost in code

7. Timely ghost controls

8. Ghosts in 2.003

9. loop-pages/shift/ghost images ?

10. Where can I find the GHOST.LIB?

11. Ghost of Cosmo

12. ghost files?

 

 
Powered by phpBB® Forum Software