Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #10781
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Newsgroups | comp.lang.forth |
| Subject | Re: A short history of the stages of development and status of RP's |
| References | <jl5ape$p6j$1@speranza.aioe.org> <12408228f6d07c2637615d75934557c8@msgid.frell.theremailer.net> |
| Date | 2012-04-02 15:37 -0700 |
| Message-ID | <7xiphhep64.fsf@ruckus.brouhaha.com> (permalink) |
| Organization | Nightsong/Fort GNOX |
Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net>
> ... you guys are going to have to learn a lot about System Z if you're
> going to keep banging on me about it.
You're asking the newsgroup for advice about solving a certain problem,
so yes, we can probably be more helpful if we understand the problem
better, thus the questions. ;-). The problem itself is also sort of
interesting. From a contemporary programmers' viewpoint, this System Z
thing sounds almost like an alien mothership landing, that on closer
inspection is built with weird neolithic technology. They built a
stardrive out of THAT? They certainly have access to modern Earth
materials, so it's perplexing why they don't use it if they are still
building the stuff.
>> Is an interpreter a key feature that you've decided on?
> Maybe. Probably. Isn't an interpreter something every Forth should have?
It could be a cross-compiler, for example. I'm not sure if that's what
Rod meant.
>> Is threaded code a key feature that you've decided on?
> What does that mean, multithreaded? Or threaded as in Threaded Interpretive
> Languages threaded.
Threaded interpretive language. The alternatives would be bytecode,
native code compilation, etc. As a separate topic, there are
multitasking extensions to Forth that are pretty simple, and might be
useful to you if your host OS doesn't supply decent multitasking.
> I don't think so. Part of writing systems software is avoiding painting
> yourself into environmental corners that all existing HLL have painted
> themselves into.
I'm still trying to understand what these corners are. I'm imagining by
"systems code" you're talking about writing low level device drivers
where you have to pass a control block with a precise bit layout, using
systems services that require data passed in specific machine registers,
that sort of thing. Forth might be useful for part of that, but you'll
still probably need asm interface layers at the bottom level.
> I have to believe, looking back, it was a conscious decision not to
> allow that...just like IBM never let PL/S, PL/AS, PL/X outside (except
> as noted). They were afraid it would be too easy to write systems
> software and compete with them,
That may have been the situation in the 1960's but I think these days,
compiler technology is much more accessible, and also nobody(?) is
really trying to compete with IBM on those mainframe systems.
I looked at the docs for BSL (Basic Systems Language, apparently an
earlier name for PL/S) and it's a quite low level implementation
language (I'd say mostly lower level than C), with PL/I syntax. It lets
you do stuff like manually allocate machine registers to variables ("put
variable X in register 9"), use inline asm code freely, etc. It also
seems to handle bit-fields conveniently, e.g. you can declare a variable
to be 13 bits wide. All in all though, it looks archaic. That stuff
today is usually written in C with some asm intrinsics or subroutines.
It also occurs to me, I'm not sure what you don't like about C, but if
it's lack of type and pointer safety compared with PL/S, then you might
decide that Forth is worse rather than better. Forth (like assembler)
has no typechecking of any sort. Maybe you really want something like
Ada rather than Forth. I've thought of Forth and Ada as sort of
opposite approaches to getting away from the shortcomings of C. Or,
maybe some aspects of PL/S that C doesn't handle very well could embed
conveniently into C++.
> I realize technically that's true but it seems so abusive to write
> systems software in LISP. And it has to be something I don't despise
> so..apologies to Paul, I know he is a Lisp fan, but it's not my
> thing. In the end there is going to have to be a compiled version or
> it won't be very useful.
Lisp is very often compiled, and OS's have been written in it. Most
serious Lisp systems include compilers, while Forth is traditionally
purely interpreted (some implementations do have compilers). I don't
see why you'd despise Lisp, though I'd say it's probably not what you
want for this purpose of low level bit banging. It's too mathematically
abstract, relies on tagged or boxed data, garbage collection, etc.
> Neither brainfuck nor Forth nor any existing language has the facilities
> needed to write systems software on Z. The difference is you could probably
> write Forth and extend it
Rather than writing your own Forth, maybe you should spend some evenings
looking at Eforth, which is very easy to port to an assembly language
target.
> can you tell me on Intel since you know it so well, how would you
> switch from 32 bit to 64 bit mode and how you could change privilege
> levels in brainfuck?
Pretty much the same way as in C, Forth, Ada, or anything else, I'd
imagine. You'd use the HLL to build up the necessary x86 data
structures (page tables, segment register contents) in memory, then call
a small assembly language routine that zaps your data into the
appropriate machine registers. The idea is to do what you can in the
HLL for maintainability purposes, then call a minimal asm layer for the
low level hardware specific parts.
Back to comp.lang.forth | Previous | Next — Previous in thread | Next in thread | Find similar
A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-22 19:16 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. jacko <jackokring@gmail.com> - 2012-03-23 00:38 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. jacko <jackokring@gmail.com> - 2012-03-23 00:56 -0700
Re: A short history of the stages of development and status of RP's For interpreter. Nomen Nescio <nobody@dizum.com> - 2012-03-23 12:53 +0100
Re: A short history of the stages of development and status of RP's For interpreter. "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-23 20:44 -0400
Re: A short history of the stages of development and status of RP's For interpreter. Nomen Nescio <nobody@dizum.com> - 2012-03-25 10:30 +0200
Re: A short history of the stages of development and status of RP's For interpreter. "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-25 06:05 -0400
Re: A short history of the stages of development and status of RP's Nomen Nescio <nobody@dizum.com> - 2012-03-27 03:03 +0200
Re: A short history of the stages of development and status of RP's "Elizabeth D. Rather" <erather@forth.com> - 2012-03-26 15:39 -1000
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201203.rodent.frell.theremailer.net> - 2012-03-28 11:18 +0200
Re: A short history of the stages of development and status of RP's "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-30 07:04 -0400
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201203.rodent.frell.theremailer.net> - 2012-03-30 19:24 +0200
Re: A short history of the stages of development and status of RP's Paul Rubin <no.email@nospam.invalid> - 2012-03-30 13:00 -0700
Re: A short history of the stages of development and status of RP's Nomen Nescio <nobody@dizum.com> - 2012-04-04 16:09 +0200
Re: A short history of the stages of development and status of RP's "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-30 18:06 -0400
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net> - 2012-04-02 16:39 +0200
Re: A short history of the stages of development and status of RP's Paul Rubin <no.email@nospam.invalid> - 2012-04-02 15:37 -0700
Re: A short history of the stages of development and status of RP's BruceMcF <agila61@netscape.net> - 2012-04-02 16:59 -0700
Re: A short history of the stages of development and status of RP's kenney@cix.compulink.co.uk - 2012-04-03 17:15 -0500
Re: A short history of the stages of development and status of RP's "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-04 05:23 -0400
Re: A short history of the stages of development and status of RP's Nomen Nescio <nobody@dizum.com> - 2012-04-04 15:58 +0200
Re: A short history of the stages of development and status of RP's "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-05 09:57 -0400
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net> - 2012-04-11 21:23 +0200
Re: A short history of the stages of development and status of RP's "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-11 19:13 -0400
Re: A short history of the stages of development and status of RP's jacko <jackokring@gmail.com> - 2012-04-11 18:22 -0700
Re: A short history of the stages of development and status of RP's hwfwguy@gmail.com - 2012-04-13 09:37 -0700
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201204.rodent.frell.theremailer.net> - 2012-04-05 11:21 +0200
Re: A short history of the stages of development and status of RP's Fritz Wuehler <fritz@spamexpire-201203.rodent.frell.theremailer.net> - 2012-03-27 13:08 +0200
Re: A short history of the stages of development and status of RP's For interpreter. anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-03-26 08:58 +0000
Re: A short history of the stages of development and status of RP's Forth interpreter. Fanzo <cristianof6@gmail.com> - 2012-03-25 15:32 +0200
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@noavailemail.cmm> - 2012-03-30 18:05 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-02 05:08 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-10 11:07 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-11 19:00 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-11 19:24 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-12 14:03 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-12 08:19 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-12 12:45 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-12 13:29 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-12 13:56 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-13 10:25 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-13 08:12 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-13 08:23 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-11 17:27 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-12 00:19 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-12 13:54 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. Mark Wills <markrobertwills@yahoo.co.uk> - 2012-04-12 13:43 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-12 06:45 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-04-12 15:01 +0000
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-12 13:54 -0400
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-12 10:49 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-12 08:40 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-12 12:38 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-12 13:58 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-04-13 10:42 +0000
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-13 08:34 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-04-13 15:48 +0000
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-13 08:25 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. stephenXXX@mpeforth.com (Stephen Pelc) - 2012-04-13 22:08 +0000
Re: A short history of the stages of development and status of RP's Forth interpreter. "Elizabeth D. Rather" <erather@forth.com> - 2012-04-13 12:26 -1000
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-13 16:14 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. BruceMcF <agila61@netscape.net> - 2012-04-13 08:46 -0700
Re: A short history of the stages of development and status of RP's Forth interpreter. "Rod Pemberton" <do_not_have@notemailnot.cmm> - 2012-04-12 13:53 -0400
csiph-web