Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #10385

Re: A short history of the stages of development and status of RP's For interpreter.

From "Rod Pemberton" <do_not_have@noavailemail.cmm>
Newsgroups comp.lang.forth
Subject Re: A short history of the stages of development and status of RP's For interpreter.
Date 2012-03-23 20:44 -0400
Organization Aioe.org NNTP Server
Message-ID <jkj5ds$p48$1@speranza.aioe.org> (permalink)
References <jkgbte$3f7$1@speranza.aioe.org> <538c31619337cdb29daa92f436bcc803@dizum.com>

Show all headers | View raw


"Nomen Nescio" <nobody@dizum.com> wrote in message
news:538c31619337cdb29daa92f436bcc803@dizum.com...
> Rod, thanks for starting this thread. I'm interested but most of the
> implementation details probably won't be useful for me, nor mine for
> anybody else.
>

Ok.

There are probably Forths available for IBM 360.  I just don't recall seeing
them.

You could search mod.sources, net.sources, net.forth, comp.lang.forth, etc
for Forth in the subject line and some possibly used IBM BAL assembly
instructions or possibly used BSL sequences in the message body.

http://groups.google.com/advanced_search


You might be able to easily port an old Unix Forth:

Past post by me with links to PDP11 fig-Forth
http://groups.google.com/group/comp.lang.forth/msg/3c227e713602a5c0

Past post by me with links to UNIX FORTH for the VAX
http://groups.google.com/group/comp.lang.forth/msg/53fb6aa49ec4a403

C FORTH
http://groups.google.com/group/mod.sources/msg/134ee67b7333f7ac
http://groups.google.com/group/mod.sources/msg/3ba6f81f9c31d54c
http://groups.google.com/group/mod.sources/msg/b8aba20fd36933e8
http://groups.google.com/group/mod.sources/msg/b7602f995b208412

> Part of my goal is to come up with something usable *for me*. If you
> consider your Forth primitive, is there value beyond the technical joy of
> implementing something?

It's primitive now, perhaps that's not so tomorrow, or even many tomorrows
from now.  I'm only a few words away from attempting to run one simpler ANS
test suite.

It's like raking the leaves in a large yard.  It takes as long as it takes
when moving one small bunch of leaves at a time ...  If you think about how
long it'll take you to rake all those leaves, you'll just let them sit and
rot and kill your grass.  Even with a leaf blower (i.e., better tools) it'll
take you some time when starting from scratch.

Are you expecting something quick?  If so, you might start from an existing
Forth, even if it's old, non-ANS, poorly coded in C, etc.

> In other words, what are your goals?

To code.  Doesn't doing so give you purpose?

> Do you want something so you can say "I did that"

No, it just "escaped" out of another project ...  It's just an enjoyable
personal experience, like painting a picture, riding a bike in the park,
going fishing, reading a book, etc.  Could it be for profit, or benefit
society?  Who knows.  Maybe someday it will.  I'd like to think that the
things I've done that others haven't or I've done differently have some
value.

> [...] or do you want something so you can write code you
> couldn't write with anybody else's Forth, or something else?

No, although I've considered, and am still keeping it in mind, repurposing
the interpreter to a another language or Forth variation might be useful.
The interpreter parses, "compiles," interprets and executes.  That's what
you want in a compiler.  From another similar project of mine, you can
convert an interpreter to a compiler, i.e., to something that emits code
instead of interprets "compiled" code.

> That's interesting. The process itself should be discussed more.
>

As in?  What aspect?

Much of it is edit, compile, test, rewrite, add more, repeat.  Sometimes
it's get frustrated at just how finicky the program is and let it sit for a
day, week, month ...  Other times, it's brute force it, don't think about
it, chug the caffeine, blast the music, pound on it until it works.  Still
other times, it's think it out carefully, slice-n-dice cleanly, implement
it, find out it doesn't work, trace the code to track down why.  At the best
times, it's code it, test it, be amazed that it still works, move on.  Of
course, at various times, I become tired of working consistently on one
project and will stop and restart another one.  Lately, I've been putting
the most effort into this one.  Sometimes its a matter of what ideas fit
best with which project.

> > The "program within a program" as pre-compiled Forth in C, over time and
> > many versions, has been (re)written entirely in terms of the primitives
> > which are coded in C.  So, it's really a program ("the Forth
> > interpreters") within a program (an ITC interpreter coded in C).
>
> Is this analagous to writing Forth words as assembler macros? It sounds
> like it and it is something I thought of doing.
>

Maybe.  That's not how I did it (unrevealed and keeping it that way), but it
could be.  Most Forths in C do things the "C-way", meaning a switch()
statement and procedures.  If you look at the links to the PDP-11, VAX, C
Forth above, you'll see what I mean.  I implemented an actual ITC
interpreter in C.  Early Forths, like fig-Forth, implement an ITC in
assembly.  So, my high-level ("compiled") Forth definitions are just lists
of addresses like old interpreters.


Rod Pemberton









Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

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 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

csiph-web