OverView

Links to Over Views from all Over. Over. Add yours. :-)

Chuck's own overview of colorForth

Chuck's own overview of the development of Forth

Who is Chuck Moore

From Jeff Fox's UltraTechnology.com about the development of OKAD and several links from there. Especially http://www.ultratechnology.com/mofe16.htm Which might be the earliest version of what becomes colorForth. Thank you Jeff, for your diligence!

Ray's overview

Discuss Overviews

A General Overview

I'm certain that the good many of you may not have had the pleasure of working in the world of Herman Hollerith's punch card. I remember. I remember the sorter, the keypunch keyboard, and my first experience with hanging chad. I remember getting my program back from the 'wizard'… you didn't think they'd let you touch the machine before you were a junior, do you? … back from the 'wizard' because it wouldn't compile and the error is unknown. BAD CODE.

This is the world that Forth, and therefore colorForth, were borne.

Imagine, if you will, you are sitting behind the keypunch, along one of the long walls of a room wrapped inside of an even larger room. In the jacket of a four foot airconditioning space both above the ceiling and below the floor, the constant sound of air moving. Whistling between all of the drop ceiling and raised floor tiles. All of the machines in the room have large electric motors, for one reason or another, and they are all spining their cogs and the cogs they are connected to, and it all makes sound. You can barely hear each other talk above this noise. The slapping of the keys, the slapping of the sorter's doors. The slapping of the relays.

And if that doesn't madden you, your code just failed at card 793. Unfortunately, that's just a data card and has no effect on the code that will run, but somehow it has crashed the compiler because of code that you are currently running, you wrote yourself, it's in another deck, it's called your soon to be infamous compiler. Mad yet!

You never use the machine for debugging. That is all done with your code notebook, the OS manual, and the documentation that come with all of those machines. The machine is too busy currently running code from someone else on that persons timeslice. You have so much time to fix and re-submit. You could carry a lot of state around in your head, for long periods of time. You have to compare all of your cards with your model to be sure you have accurately typed them, yet again. Ordered them properly. Run 'em thru the sorter, again.

When you consider what Chuck Moore started doing on his own, it starts to make sense. Quick.

What ever the details, which can be found linked here above, you can begin to imagine that a mathematician, used to reducing problems to more and more simple terms, would tend to exploit any and all opennings that one recognises that may reduce the meriads of problems associated with working in the environment detailed above.

The languages designed in that time, and just before, were just that. Designed. From the point of view of a theoretical machine, languages like Lisp, Scheme, Algol, FORTRAN, and BASIC were borne. Machines begin to be made to catch up. Or so I theorize.

But from Chuck's point of view, getting the machine to do what it does “naturally”, using the machines own language of available opcodes. Forming and grouping them into tools by using concatenation and substitution. From the excellent ideas that are part of all of those other systems. Like looping, comparison, structure, what have you. Using the available opcodes of the machine directly, or by indirect substitution. A naturally portable idea.

Short cuts emerge. Exploited. Tested and dropped for better methods. The word gets out. One programmer at a time at first. The method begins to prove itself, as it improves itself.

Chuck decides that not only is his method for computing creating excellent software, a hardware version of the right subset of that software would be that much better. Years of proof of a smallish set of tools that could be rendered in hardware, is suffisticated enough to create and fit real world applications like a glove.

Skip a lot of things that happend to Forth like ANSifcation, ports in other languages as a basis for Forth, usage in the real world. Somewhere on that trail there is a very faint path. The footsteps of one man, again. Even the converts are not impressed.

Desire: Create soft/hard/ware-chip to satisfy idea that such a chip will simplify computing in general.

Requirements: 
low cost computer to design chip.
low cost software to design chip.
Software: None exists in the world, must be created to perform ultimate task. Low cost design hardware found easily in the market place in the form of IBM compatiables. They can come with Intel chips. Much hardware in the machine is compatable and instantly usable. Most software needed to support main design software, like browsers, mail handling, communications and what have you supported by cheap Windows line of software. Dos has a debugger called debug that one can use to write code to memory. Software begins to be developed to properly handle the design constraints.

An efficient system of menus and choices begin to become the design system. Starting with what's called 'sourceless' programming techniques, each constraint of the system begins to be met. Sourceless programming means that the programmer is just entering into memory the operational codes where they need to be entered. This is programming the machine directly in memory. The menu's selections will substitute for actions constantly being repeated in order to accomplish the task.

OKAD, named for the the OK prompt and the fact that this software is a Computer Aided Design software, begins to earn it's pay by providing everything Chuck needs to accomplish his goal.

A sort of script editor begins to emerge in the system, allowing Chuck a bit more freedom in the direction of using Forth like he is used to using.

Eventually, the original OKAD system is replaced with one written with this convenient editor. OKADII

The colorForth is really Forth. It is the result of the environment it resides in. To ballance what the machine provides to a design system.

output:

Display: The display provides the designer a choise of seeing a realistic looking chip, and a representation of the chip where each building block is colorcoded. It can show areas of the chip in detail and zoom out to a larger view. Testing results are constantly updated to the display.

Needing to code directly to the Graphical Framebuffer means that the the font is easily supplied by bitmaps. Those bitmaps can be colored. Those colors could have meaning. Those meanings could involve some of the regular tasks that building Forth software requires.

File: The File used to describe the chip to manufactures has a correspondance with the display output. Or rather I should say that creating the description of the manufactures file also relates in the display's version, used for referance while designing.

input:

Keyboard: From the seven button system used in the menus of OKAD, to the 27 buttons used in the new colorForth environment. colorForth has a system of easily replacing and designing the specific function of keyboard keys as part of it's interface. Even qwerty is available for those that prefer it.

Fanatics

You can tell that Ray is a fan. He speaks about himself in the third person at this site, trying to act like he's not writing most of it to develope some sense of Community. But a fanatic will continue in this mode, hopfully until it becomes a resource.

Other Fanatics are in the world. The slow growth of colorForth has allowed for many waves of fanatics to rise to the vocal world, and then return to the world of the listener. But while Ray did find colorForth very early on when it was presented at Jeff Fox's website, Ray believes that he missed most of the Golden age of the colorForth Community for finding the mailing list, the IRC chat, Usenet, and the websites of other fanatics very late. It makes sense, if you think that it was found early by Ray, when there was absolutely no information about colorForth other than Jeff's website, for quite a while. One stops searching so much when there is nothing to be found.

But then Ray did find it. The mailinglist had been mentioned in the Comp.Lang.Forth, another resource Ray joined late. The mail list is hosted at the Chaos Solutions website and there was a links page. The links page had an IRC chat link, and Ray ended a 10 year fear of IRC and joined Freenode's #c4th and #c4th-ot chats. ( the only place Ray has ever gotten a virus he had to recover from was from someone else in IRC chat)

Ray's fanaticism rising, the other chatter's fanaticism turning to less vocal, more learking in the chats… Still, Ray met some very good colorForth programmers at that time. There was Tim Neitz, who maintaines an archive of many versions, who was also very busy at the time pushing the system to new limits. And pushing his family to knew limits with twin girls and a boy. (Ray names the trio of computers, twin PentiumII's and a very fast Pentium 4, always in front of him after Tim's kids.) Mark Slicker was available from time to time, until a crash of his computer left him speachless. We havn't heard hide nor hair of him. That's a real shame. Mark taught Ray how to use the north block properly because Mark had a resource, a book of what can be found in PCI for many computer parts.

Tim taught Ray some of the Forth that is colorForth, the more colorForth-y ideas, like jump tables, accessing memory in several ways, and displaying things like the answers to computations. Tim created a multi-tasker. Being that Ray seems to refuse to move to *nix OS and sticks with Windows ( Ray runs cygwin or will boot a debian if necessary or requested), Ray becomes by default the Windows enviroment tester for all sorts of projects, included many RetroForths and colorForths, Glypher and the private projects of new found friends.

Before Mark Slicker's sudden disappearance ( like getting a good tooth pulled) … Just before that time, Mark and Tim went into ACCEPT mode, creating 4 versions, all tested by Ray in the colorForth editor, in the multi-tasker as a replacement for the accept used there, and then also in conjunction with a block viewer, making a very simple replacement for the colorForth editor, but written in the editors own language. Howerd Oakford had already distributed his very own written-in-colorForth editor, and it is brilliant. It has a colorBlind mode that makes colorForth look more like traditional Forth.

Other applications found on Howerd's version of colorForth is quite good. Howerd's cfdos4, and the associated files, become a staple resource for Ray. Ray can use it to add byte code to kernels, getting the chance to mix and match things that are parts of colorForth. Ray can get a colorForth to run on all of his machines. He starts to write code. Not like a systems programmer, but more like a user. What can a user do with a limited formal computing/mathematics education and a system like colorForth?

Apparently, anything on the screen one can imagine.

Dr. Nick Maroudas can make it sing, bringing a new kind of harmony to the ears of the world, as yet, unheard. Tim can make it multi-task and comunicate with the outside world. Chuck and Jeff and crew make it design, and they can give us new lots of new functionality from time to time. ( right 2 times so far :-) ) Sean Pringle can create it from a description before it is even distributed. Terry Loveal can share his working versions that he created and hosts and describes for you. Peter Appelman can make more of it fit on the screen. Roman Pavlyuk can run it in Windows and drive dlls and get it to control his entertainment center. Mark Slicker and Samuel Falvo can define it and appreciate it on another level. Karig can describe it in detail. Josh Grams ( with testing from Ray) can make it work. B Shafer can make it screen save. Howerd Oakford can bring SLIME to LIFE( as in John Conway's). Howerd can make it start itself. Howerd can make it help itself. Howerd and Jean-François have fractal control of it. John Comeau can forge it into virtual machines and Cd-roms. John Drake can bring it out in primarycolors and strings and SEAforth. David can manufacture and distribute smarter with it. Roger Levy and Charles “R”etroForth Childers and Jason Woofenden and others take from it and use from it.

Lots of things are being done with colorForth by lots of fanatics.

Ray can talk about it for years on end with out brake or break.

From the Blog

 
anoverview.txt · Last modified: 2010/01/16 10:47 by raystm2
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki