home .. forth .. colorforth mail list archive ..

[ColorForth] Let's talk philosophy



On Wed, 28 Nov 2001, Jack Johnson wrote:

> 
> So, to generate some traffic in this mostly quiet mailing list I thought you 
> might be willing to share your ideas with the rest of us.  Why colorForth?  
> What brought you here?  Not only "Where do you want to go today?" but where 
> do you want to be tomorrow?  And how do you get there from here?
> 

Well, I'm a Computer Science and Mathematics student, and I'm quite
interested in free software. The internet and GNU/Linux are revolutionary
things. Software that is collaboratively built, and collectively
enjoyed. While the concept is very nice, I was becoming increasing
frustrated with the implmentation. So, I wanted to build my own system.

I had heard of the lisp machines, about the interactive programming
environment. That is what I wanted to create, a flexiable, source code
based system, with an interactive programming environment. I had done many
searches on the internet, however I was unable to find this, except for
unavailable research systems, and some mention of lisp machines. I was
previously unaware of the Forth environments, however historically they
probably predated the lisp environments.

One day I saw mention of Chuck's site and colorForth, I was very
excited. Not only did it fit my requirements, it had many
interesting ideas, and it's very much beyond what I probably could have
created myself. Creating a system requires a large breadth of experience,
I had parts I understood very well, but not the whole. colorForth is
truely a master's work, a very fine tool.

Not to long after I discovered Chuck's site, the first release of
colorForth was made. Since then, I've been working exclusively with it. I
wrote a utility to convert the assembler source to work with it in Linux
(I don't have Windows). In practice I haven't had to modify the kernal too
much, only some floopy disk modifications. It's still nice to have.

What I would like to see colorForth become is a highley collaberative
environment. Currently most of us just publish code on our respective
sites. This code needs to be self contained, where it might be the case
some words are common or there exists common structure which can be
factored. What would be nice is a system much like cvs, so a small group
can work on the same colorForth and comit changes to a database, and these
changes can filter into your own colorForth. Such a system could be much
better than CVS. CVS is grounded in Unix, being file system based and
reporting character based changes. A colorForth CVS can be word based,
and understand the semantic differences between colorForths making changes
to your colorForth accordingly.

To facilate the collaberative process, a memory alocator might be
needed, so you don't step on someone else's memory. Otherwise there is a
few applications which I would like. A web browser and e-mail,
certainly. I'd like drivers for my ethernet, graphics, and mouse. However,
I'll wait to do this, since Chuck is bringing some of these into source,
which will make it easier to modify.

I'm probably unlike a lot of you here in that I was not very much into
Forth before discovering colorForth. I had one class which we built a
Forth chip in vhdl on an FPGA, however they didn't explain any of the
philosophy which led to its design. I just assumed this was how
modern chips were designed. Actually they never even introduced Forth or
Chuck until it was time to program it. Forth was shown as a higher level
language which translated into the instructions our chip 
understood, although the instructions were Forth too.

I really do like Forth now. It's a very elegant language, and most
importantly it's a lot of fun to program with. I get the same enjoyment
from colorForth, as doing Mathematics, playing Chess, or playing music.

Mark





------------------------

To Unsubscribe from this list, send mail to Mdaemon@xxxxxxxxxxxxxxxxxx with:
unsubscribe ColorForth
as the first and only line within the message body
Problems   -   List-Admin@xxxxxxxxxxxxxxxxxx
Main ColorForth site   -   http://www.colorforth.com