Post #71,349
12/29/02 5:55:51 PM
|
The Perfect Operating System
Boots to FORTHOS.
APL environment implemented in FORTH, analogous to C for UNIX. Can compile APL to FORTH, and FORTH to assembler (written in FORTH of course). Operating system implemented in APL for abstraction.
All graphics routed through FORTH. POSTSCIRPT is a FORTH vocabulary. Display, printer, we got it covered.
Windowing environment provided by Smalltalk. This page to be filled in.
Since FORTH is all about streams, we can use the UNIX idea of files consistently. Multitasking will be implemented FORTH style, but can be mapped onto UNIX semantics. In fact we can have a SAL software abstraction layer with various pluggable personalities. This is the bonus of being a step away from silicon.
-drl
|
Post #71,359
12/29/02 6:57:32 PM
|
Forth based operating system, huh?
Shall we call it VALDOCS II?
(For the historically challenged, the programmers at Rising Star Industries single handedly stopped a major Japanese computer invasion in its tracks when they couldn't get the Epson QX-10's Forth based OS/office environment to work right - such as get it to retrieve files it had supposedly saved. Most users fell back to the optional CP/M-80 operating system.)
[link|http://www.aaxnet.com|AAx]
|
Post #71,369
12/29/02 7:37:00 PM
|
Well, sounds like a good match
After all, I've heard that both APL & FORTH are "write-once" languages.
What I'd like right now would be a real time high level scripting language (interpreter) that could fit in ~8K/8K (code/data -- with no libraries, of course). The real time / high level part could be accomplished with care (especially in regards to garbage collection, if used), but the size part won't happen. The smallest scripting language I'd consider using, Lua, is still something like 100K and Ficl (FORTH-inspired command language) is about the same.
Tony
|
Post #71,373
12/29/02 8:52:49 PM
|
Re: Well, sounds like a good match
[link|http://www.tinyboot.com/|http://www.tinyboot.com/]
Here is a general purpose firmware system based in FORTH. Links to other resources (of course you probably know these).
I can't imagine a scripting system simpler than FORTH, in terms of necessary resources.
-drl
|
Post #71,375
12/29/02 8:57:06 PM
|
I remember reading lots about FORTH.
On a TI-99/4a. The user group had some FORTH enthusiasts.
It required a disk system, alas (I couldn't afford one), as it was disk-sector-oriented; each sector being a page of code. It effectively was it's own OS, but then that wasn't unusual on home computers of that era.
Wade.
Microsoft are clearly boiling the frogs.
|
Post #71,381
12/29/02 9:16:30 PM
|
Re: I remember reading lots about FORTH.
Right - FORTH code came in fixed block sizes that corresponded to physical disk sectors :). A block was called a "screen". If the blocksize is 1024, that's just 16 lines of 64 columns. The editor loaded a screen at a time.
Now this is great for embedded systems - your ROM is just a bunch of screens. It's so simple it's stupid.
-drl
|
Post #71,419
12/30/02 1:35:43 AM
|
FORTH & embedded systems
FORTH was originally created as a language for controlling astronomical telescopes, and is still used for that purpose (and for a while after the high profile QX-10 fiasco, not for much else), so it should work well for embedded systems.
[link|http://www.aaxnet.com|AAx]
|
Post #71,404
12/29/02 11:26:49 PM
|
Thanks, it looks interesting
I'm really looking for a system for a Analog Devices 2181 DSP, so I'd have to look at porting issues, although someone has already done a FORTH implementation for the 2181.
I'm not a big fan of the FORTH syntax, but right now it does look like the only option for a truly tiny interpreter (well, I suppose I could do a TinyBASIC....but I think I'd rather program in FORTH).
Another issue is that I would want the language to be able to call compiled C routines; scripting languages such as Lua, Ficl, Python, Tk, etc excel at this. I'm not sure how easy it is in standard FORTH.
So at a first glance it looks promising; I'll have to dig into the details to see if I would really make sense for my current device.
Tony
|
Post #71,422
12/30/02 2:33:44 AM
|
Re: Thanks, it looks interesting
Calling C is trivial if you understand the calling convention, can do your own fixups, etc. etc. You prepare the stack and go. You can hand link but most FORTHs of any richness do all this for you - see for example [link|http://www.tinyboot.com/appc.html|http://www.tinyboot.com/appc.html].
Also in general:
[link|http://www.equi4.com/minotaur/minotaur.html|http://www.equi4.com...aur/minotaur.html]
-drl
|
Post #71,384
12/29/02 9:19:07 PM
|
Ahhh.. is *THAT* what QX-10 was about !?
I vaguely recall a stirring.. about that time, of the QX-10 perhaps being an actually New and Pregnant approach and far beyond pip b:=a:*.* /V yada and yassa boss. Alas I never encountered a useable discussion of Forth, QX-10 and the implications (even when I asked). This even though (even I) had imagined Forth to be something actually er seminal. But what did I know..
Perhaps if I hadn't come so recently from PDP-8 octal and the absurdity of needing to use a CDC 6600 (!) to compile via punch cards, a few thousand or even hundred bytes on huge reels of tape -- I might have bitten, or at least become infected..
{whew}
Thanks. Nothing to see here.
Ashton
When the rich assemble to concern themselves with the business of the poor, it is called Charity. When the poor assemble to concern themselves with the business of the rich, it is called Anarchy.
-Paul Richards
|
Post #71,420
12/30/02 1:44:30 AM
|
FORTH took the rap.
The failure of VALDOCS was blamed (fairly or unfairly, I really wasn't interested enough to know for sure) on the use of FORTH as the programming language. The Rising Star Industries guys were high profile in the programming community, and always dressed in black, as was considered appropriate for star FORTH programmers at the time.
FORTH as a general language never recovered from the experience.
[link|http://www.aaxnet.com|AAx]
|
Post #71,570
12/30/02 6:06:35 PM
|
Oh, GRREEEAATT!
The world's most unreadable language compiling into the world's second most unreadable language.
Just what the world needs!
(And of course, we can implement the oh-so-vaunted Missle Defense System\ufffd in it! That'll make Marlow happy...for a few seconds, anyway...)
jb4 "They lead. They don't manage. The carrot always wins over the stick. Ask your horse. You can lead your horse to water, but you can't manage him to drink." Richard Kerr, United Technologies Corporation, 1990
|
Post #71,621
12/30/02 10:20:07 PM
|
Re: Oh, GRREEEAATT!
The world's zeroth most unreadable langauge is assembler. You left that out.
Ahhm ded seerius.
-drl
|
Post #71,693
12/31/02 7:24:24 AM
|
Re: Oh, GRREEEAATT!
Nah, If you do enough assembler long enough it becomes as readable as English. ... Never mind...
|
Post #71,705
12/31/02 9:29:55 AM
12/31/02 9:30:41 AM
|
Well, I didn't really wnt to go there, but ...
...since you brought it up:
Some assemblers are more readable than others (compare PDP-11 assembler to 80x86 assembler [before Micros~1 got their hands all over it and buggered the living snot out of it]).
However, all assemblers I know of use the ASCII character set....
;-)
jb4 "They lead. They don't manage. The carrot always wins over the stick. Ask your horse. You can lead your horse to water, but you can't manage him to drink." Richard Kerr, United Technologies Corporation, 1990
Edited by jb4
Dec. 31, 2002, 09:30:41 AM EST
|
Post #71,840
1/1/03 10:50:02 AM
|
Re: "use the ASCII character set"
except for those on an IBM system that use EBCDIC. :)
Alex
"No man's life, liberty, or property are safe while the legislature is in session."\t-- Mark Twain
|
Post #72,050
1/2/03 1:02:19 PM
|
Yes...well, um...er,...*coff*...
OK, sure.
But there are those of us who don't consider EBCDICk to be a "character set".
;-\ufffd
(and happy new year, too!)
jb4 "They lead. They don't manage. The carrot always wins over the stick. Ask your horse. You can lead your horse to water, but you can't manage him to drink." Richard Kerr, United Technologies Corporation, 1990
|
Post #72,077
1/2/03 4:26:18 PM
|
Sigh - when things were interesting...
[image|http://www.colorforth.com/byte.jpg|||815"|607]
August 1980 cover of BYTE, "The Small Systems Journal". Remember that?
The illustration is of FORTH's interpreter mechanism, known as "threaded interpretation".
-drl
|
Post #72,201
1/3/03 9:39:17 AM
|
Yes, I remember this cover!
I was still in ABQ at the time working for EG&G. We had some interest in FORTH back then, for use in our weather monitoring stations we were developing for the Army Corps of Engineers for the Columbia River Monitoring system.
Ross, where do you find these pictures to link to?
jb4 "They lead. They don't manage. The carrot always wins over the stick. Ask your horse. You can lead your horse to water, but you can't manage him to drink." Richard Kerr, United Technologies Corporation, 1990
|