Path: csiph.com!usenet.pasdenom.info!weretis.net!feeder1.news.weretis.net!feeder.erje.net!news2.arglkargh.de!news.theremailer.net!frell.theremailer.net!anonymous From: Fritz Wuehler Comments: This message did not originate from the Sender address above. It was remailed automatically by anonymizing remailer software. Please report problems or inappropriate use to the remailer administrator at . Identifying the real sender is technically impossible. Newsgroups: comp.lang.forth Subject: Re: A short history of the stages of development and status of RP's References: Message-ID: Precedence: anon Date: Fri, 30 Mar 2012 19:24:17 +0200 Mail-To-News-Contact: abuse@frell.theremailer.net Organization: Frell Anonymous Remailer Xref: csiph.com comp.lang.forth:10646 "Rod Pemberton" wrote: > "Fritz Wuehler" wrote > in message > news:3bfc38529cef7fe7b6888a5c84eb9446@msgid.frell.theremailer.net... > > "Elizabeth D. Rather" wrote: > ... > > > > It's a lot easier to write a standalone Forth, with all its own drivers > > > and everything, than to write a Forth that runs under any OS we've ever > > > seen. > > > > That doesn't seem like it would be the case on z/Arch and in my case it > > wouldn't matter because I'm thinking about Forth specifically as a special > > purpose tool for writing system code for an OS (to extend the OS, not > > replace it) [...] > > I'm not discouraging you from using Forth, but do you really need Forth for > that? What would you suggest instead? > I.e., Forth seems like overkill. I would never think of Forth as overkill! As far as I can see, Forth is the best choice for this because using any other existing compiler would require eliminating the runtime and replacing it with your own, and then you would still have to change the language itself to support the extra stuff you need for writing systems software. Forth makes those extensions and changes much easier because new words don't change the core language. Changing more traditional languages requires syntax and semantic changes that are extensive. > By that, I mean, perhaps a much simpler set of tools could do the job? A > few simple programs in assembly, or C, or PL/I, etc should do the job ... I already write systems software in assembler. C is mostly unusable and PL/I is completely unusable. We discussed that at some length earlier. If you want to write systems software on z you can use assembler. You can also use their latest C compiler and drop through about 90% of the time to assembler, but even with that you can't write 100% of what you might need. Aside from PL/X which is IBM-only there isn't any other tool that lets you write systems software. PL/I is a good general purpose language but it won't support writing systems software on z. If you know what you're doing you might be able to write a ground-up Forth that doesn't get in the way of systems programming extensions. The point is, what other language could support systems software on z besides assembler? Forth could and it would be an interesting project. If you're not familiar with the System Z environment you're not going to be able to understand what I'm talking about. No language aside from assembler and PL/X has support for writing systems software. If you have to implement a new language for that Forth seems like an excellent candidate. > Think of them as a set of micro-tools, i.e., micro-compiler, > micro-assembler, micro-linker, etc. This gets to the heart of why you are > looking into Forth. Simplicity? 0-operand? Grouping? Parsing? > Interpreter? Forth is the easiest language to extend to something meaningful on z of anything I can think of. It's actually a better choice than C. You build it up from words as you know. You can do things incrementally and if you don't write it in Forth you can avoid bootstrapping entirely. The main thing is you don't have to change the syntax or flavor of the language to support systems programming unlike what you would have to do with other languages. > You mentioned "extensibility, modularity, and compactness" in regards to > Forth in the portion I snipped. : (colon) and ; (semicol) group operations > together, much like a procedure in other languages. That functionality has > also been combined with BrainFuck. Have you read about ToadSkin? > http://esolangs.org/wiki/Toadskin There's nothing extensible, modular or compact about Brainfuck! It's useless as a programming language. It's a good joke and alot of fun but has no value for actual use. Try writing a few sample programs if you don't believe me. > Ok, that's probably still too primitive being Brainfuck derived. Brainfuck > also needs support for strings and integers. It's pretty worthless except as proof of concept. You're not going to be able to write systems software on z with it and probably not anywhere else either. Maybe you could on DOS but I assure you, nobody would want to.