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


Groups > comp.lang.forth > #35605 > unrolled thread

blocks and screens, tell your war stories

Started byPaul Rubin <no.email@nospam.invalid>
First post2015-01-08 11:08 -0800
Last post2015-01-13 19:47 -0800
Articles 20 on this page of 64 — 23 participants

Back to article view | Back to comp.lang.forth


Contents

  blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 11:08 -0800
    Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 12:35 -1000
      Re: blocks and screens, tell your war stories empty-buffers <empty.buffersYOU-DONT-WANT-THIS@gmail.NEITHER-THIS.com> - 2015-01-08 23:24 +0000
        Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 15:36 -0800
          Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 16:42 -1000
            Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 22:55 -0800
              Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 21:12 -1000
                Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 23:27 -0800
                  Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 21:41 -1000
                    Re: blocks and screens, tell your war stories Mark Wills <markwills1970@gmail.com> - 2015-01-09 02:21 -0800
                      Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-09 09:21 -1000
                        Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-09 13:07 -0800
                          Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-09 11:46 -1000
                        Re: blocks and screens, tell your war stories empty-buffers <empty.buffersYOU-DONT-WANT-THIS@gmail.NEITHER-THIS.com> - 2015-01-11 13:58 +0000
                          Re: blocks and screens, tell your war stories "Alex McDonald" <blog@rivadpm.com> - 2015-01-13 14:37 +0000
        Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 18:30 -1000
          Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 20:47 -0800
            Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 20:49 -1000
              Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-09 13:02 -0800
    Re: blocks and screens, tell your war stories a.daniel.eliason@gmail.com - 2015-01-08 14:45 -0800
      Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 15:50 -0800
    Re: blocks and screens, tell your war stories Doug Hoffman <glidedog@gmail.com> - 2015-01-08 22:34 -0500
      Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 17:48 -1000
      Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-08 21:13 -0800
        Re: blocks and screens, tell your war stories "Elizabeth D. Rather" <erather@forth.com> - 2015-01-08 21:09 -1000
      Re: blocks and screens, tell your war stories Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2015-01-09 09:34 +0100
        Re: blocks and screens, tell your war stories Roelf Toxopeus <rt4all@notthis.hetnet.nl> - 2015-01-09 12:26 +0100
    Re: blocks and screens, tell your war stories Stan Barr <plan.b@bluesomatic.org> - 2015-01-09 08:10 +0000
      Re: blocks and screens, tell your war stories JennyB <jennybrien@googlemail.com> - 2015-01-09 03:36 -0800
    Re: blocks and screens, tell your war stories Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-09 14:14 +0000
      Re: blocks and screens, tell your war stories albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-09 15:25 +0000
        Re: blocks and screens, tell your war stories Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-09 20:20 +0000
          Re: blocks and screens, tell your war stories albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-09 20:47 +0000
          Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-09 13:08 -0800
            Re: blocks and screens, tell your war stories Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-09 21:34 +0000
              Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-10 14:00 -0800
                Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-11 11:45 -0800
      Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-09 13:28 -0800
        Re: blocks and screens, tell your war stories Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-10 22:41 +0000
          Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-10 18:49 -0800
            Re: blocks and screens, tell your war stories Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-11 09:27 +0000
              Re: blocks and screens, tell your war stories stephen@mpeforth.com (Stephen Pelc) - 2015-01-11 11:51 +0000
      Re: blocks and screens, tell your war stories Steve Graham <jsgrahamus@yahoo.com> - 2015-01-12 14:46 -0800
        Re: blocks and screens, tell your war stories Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2015-01-13 00:30 +0000
    Re: blocks and screens, tell your war stories Wolf Wejgaard <wejgaard@gmail.com> - 2015-01-12 06:32 -0800
    Re: blocks and screens, tell your war stories rickman <gnuarm@gmail.com> - 2015-01-12 20:35 -0500
      Re: blocks and screens, tell your war stories Mark Wills <markwills1970@gmail.com> - 2015-01-13 03:06 -0800
        Re: blocks and screens, tell your war stories lynx <rinkasu@kaze.void.null> - 2015-01-25 18:25 +0000
      Re: blocks and screens, tell your war stories Paul Rubin <no.email@nospam.invalid> - 2015-01-15 23:08 -0800
        Re: blocks and screens, tell your war stories m.a.m.hendrix@tue.nl - 2015-01-16 03:09 -0800
        Re: blocks and screens, tell your war stories albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-16 18:25 +0000
        Re: blocks and screens, tell your war stories lynx <rinkasu@kaze.void.null> - 2015-01-25 21:05 +0000
          Re: blocks and screens, tell your war stories Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-26 01:08 +0100
            Re: blocks and screens, tell your war stories lynx <rinkasu@kaze.void.null> - 2015-01-26 00:56 +0000
            Re: blocks and screens, tell your war stories lynx <rinkasu@kaze.void.null> - 2015-01-26 02:12 +0000
              Re: blocks and screens, tell your war stories albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-01-26 18:09 +0000
                Re: blocks and screens, tell your war stories lynx <rinkasu@kaze.void.null> - 2015-01-27 07:42 +0000
                  Re: blocks and screens, tell your war stories Mark Wills <markwills1970@gmail.com> - 2015-01-27 01:25 -0800
                  Re: blocks and screens, tell your war stories Gerry Jackson <gerry@jackson9000.fsnet.co.uk> - 2015-01-29 10:20 +0000
            Re: blocks and screens, tell your war stories anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-01-26 12:10 +0000
              Re: blocks and screens, tell your war stories Bernd Paysan <bernd.paysan@gmx.de> - 2015-01-26 22:18 +0100
          Re: blocks and screens, tell your war stories Doug Hoffman <glidedog@gmail.com> - 2015-01-27 08:44 -0500
    Re: blocks and screens, tell your war stories "HAA" <someone@microsoft.com> - 2015-01-14 10:23 +1100
      Re: blocks and screens, tell your war stories hughaguilar96@gmail.com - 2015-01-13 19:47 -0800

Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →


#35615

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-08 15:50 -0800
Message-ID<87wq4wu91a.fsf@jester.gateway.sonic.net>
In reply to#35611
a.daniel.eliason@gmail.com writes:
> I suggest this book: http://thinking-forth.sourceforge.net/
> As a matter of fact I recommend this book for anyone programming

Yes it's a great book, I read it a while back and was just looking at it
again.  I'll re-read the parts about blocks and screens, but am more
interested in stories about the programming experience of that era, as
told from today's perspective, and the book doesn't really supply that.

[toc] | [prev] | [next] | [standalone]


#35626

FromDoug Hoffman <glidedog@gmail.com>
Date2015-01-08 22:34 -0500
Message-ID<54af4c47$0$291$14726298@news.sunsite.dk>
In reply to#35605
On 1/8/15 2:08 PM, Paul Rubin wrote:
> I wonder if those of you who developed Forth programs in the era of
> blocks and screens could say what it was like, compared to today's Forth
> environments.

Don Colburn on blocks files (and some other things):

ftp://ftp.taygeta.com/pub/forth/Archive/talk/sacred.txt

-Doug

[toc] | [prev] | [next] | [standalone]


#35627

From"Elizabeth D. Rather" <erather@forth.com>
Date2015-01-08 17:48 -1000
Message-ID<mcGdnQ0VCpwB0jLJnZ2dnUU7-IWdnZ2d@supernews.com>
In reply to#35626
On 1/8/15 5:34 PM, Doug Hoffman wrote:
> On 1/8/15 2:08 PM, Paul Rubin wrote:
>> I wonder if those of you who developed Forth programs in the era of
>> blocks and screens could say what it was like, compared to today's Forth
>> environments.
>
> Don Colburn on blocks files (and some other things):
>
> ftp://ftp.taygeta.com/pub/forth/Archive/talk/sacred.txt

Excellent contribution, Doug. Thanks!

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#35633

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-08 21:13 -0800
Message-ID<87bnm8tu2u.fsf@jester.gateway.sonic.net>
In reply to#35626
Doug Hoffman <glidedog@gmail.com> writes:
> ftp://ftp.taygeta.com/pub/forth/Archive/talk/sacred.txt

Thanks, that's interesting.

I guess besides the blocks/screens thing, I'm also wondering what it was
like developing on those fairly limited systems.  Today, we mostly use
fancy coding environments on big computers, sometimes tethered to
microcomputer targets.  There's lots of resident Forths for
microcomputers but I get the impression they are basically treated as
toys.  So I'm wondering what kinds of development techniques were used
on the minicomputer Forths of yore, without window systems or process
separation or much error checking in the Forth interpreter.

[toc] | [prev] | [next] | [standalone]


#35636

From"Elizabeth D. Rather" <erather@forth.com>
Date2015-01-08 21:09 -1000
Message-ID<ZaCdnaZV9oEn4zLJnZ2dnUU7-e2dnZ2d@supernews.com>
In reply to#35633
On 1/8/15 7:13 PM, Paul Rubin wrote:
> Doug Hoffman <glidedog@gmail.com> writes:
>> ftp://ftp.taygeta.com/pub/forth/Archive/talk/sacred.txt
>
> Thanks, that's interesting.
>
> I guess besides the blocks/screens thing, I'm also wondering what it was
> like developing on those fairly limited systems.  Today, we mostly use
> fancy coding environments on big computers, sometimes tethered to
> microcomputer targets.  There's lots of resident Forths for
> microcomputers but I get the impression they are basically treated as
> toys.  So I'm wondering what kinds of development techniques were used
> on the minicomputer Forths of yore, without window systems or process
> separation or much error checking in the Forth interpreter.
>

The fact is, most of the "fancy coding environments on big computers" 
are just unneeded complexity that makes marketing depts happy. We 
managed extremely complex applications (of which the most complex that 
I'm aware of was the Saudi Airport project) using straightforward, 
simple disciplines and good management.

In case you're not familiar with it, the Saudi Airport project, in the 
late 1980's, involved control over ~32,000 discrete data points (analog 
in/out, digital in/out) with a network of 512 independent custom-built 
x86 processors scattered over 100 sq miles and networked to a hub of 
duplicate, redundant pairs of PDP-11's. There were a large number of 
subsystems: security, runway lights, fuel depots, water wells, electric 
power, etc., and graphic terminals managing it all. The contractual 
requirement was that a command from any node in the network had to be 
processed within 3 seconds. When we were brought in to the project, a 
previous team using Fortran, PLM, and Assembler had spent 100 man-years 
on the project (~30 programmers 3 years) and had failed to deliver 
commands in under 10 seconds. I assembled a team of 15 programmers and 
we met that requirement in 6 mos. After 18 mos. we had the graphics, 
database, and applications running and passed acceptance tests. Last I 
heard (a couple of years ago) most of it was still running reliably. All 
of the source organization and programming techniques I just described 
were used on this project.

It is true that we (FORTH, Inc.) rely on cross-compilers for embedded 
systems nowadays. This is because we can build more powerful optimizing 
code compilers in the hosts nowadays, without having to worry about 
consuming valuable RAM and other facilities in the targets. We have made 
these cross-compilers able to generate the interactive "feel" of 
programming directly on the targets, and generate better code. Although 
our source is now in files, most other aspects of our programming style 
remains the same, because it has been proven to work.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#35644

FromRoelf Toxopeus <rt4all@notthis.hetnet.nl>
Date2015-01-09 09:34 +0100
Message-ID<54af9295$0$21107$703f8584@textnews.kpn.nl>
In reply to#35626
On 09/01/15 04:34, Doug Hoffman wrote:
> On 1/8/15 2:08 PM, Paul Rubin wrote:
>> I wonder if those of you who developed Forth programs in the era of
>> blocks and screens could say what it was like, compared to today's Forth
>> environments.
>
> Don Colburn on blocks files (and some other things):
>
> ftp://ftp.taygeta.com/pub/forth/Archive/talk/sacred.txt
>
> -Doug

Thanks Doug,

Was a 'Poor man's Mac' user then, and really can't say there was any 
difference in mouse usage between Mac and Atari, apart from that we had 
two buttons. What _was_ different though, you could run the Atari 
without a GUI, like an OSX Mac in Darwin only. This was preferred by the 
"power users' who disliked GUI stuff and all, including mice. I was 
surely not one of them ;-)

And Sibley editor it is, it's worth quite some trouble. Thanks to Ward 
McFarlane and some messing about from my side, I can start using 
MFonVFX's Sibley editor as the front end for SwiftForth OSX. Hello again.

-r

[toc] | [prev] | [next] | [standalone]


#35648

FromRoelf Toxopeus <rt4all@notthis.hetnet.nl>
Date2015-01-09 12:26 +0100
Message-ID<54afbb01$0$21129$703f8584@textnews.kpn.nl>
In reply to#35644
On 09/01/15 09:34, Roelf Toxopeus wrote:
> Ward McFarlane

Ward McFarland of course (my brain is on the loose)!

[toc] | [prev] | [next] | [standalone]


#35643

FromStan Barr <plan.b@bluesomatic.org>
Date2015-01-09 08:10 +0000
Message-ID<slrnmav36t.8li.plan.b@ID-309335.user.uni-berlin.de>
In reply to#35605
On Thu, 08 Jan 2015 11:08:21 -0800, Paul Rubin <no.email@nospam.invalid> wrote:
> I wonder if those of you who developed Forth programs in the era of
> blocks and screens could say what it was like, compared to today's Forth
> environments.

Just a quick comment:
Back around early 1980's I was using Forth-79 on a TRS-80 (which
conveniently had a screen of 16 lines of 64 chars!) and I developed a
ForthOS which allowed named sequences of blocks and a directory
structure.   These blocks were not necessary contiguous, the OS put
them in any handy empty space and BLOCK etc were modified to handle
the necessary logical to physical block number translation, so block 17
in file MYFILE might be block 124 on the actual disk.  A sort of
half-way house to file orientated Forth. 

-- 
Stan Barr     plan.b@bluesomatic.org

[toc] | [prev] | [next] | [standalone]


#35647

FromJennyB <jennybrien@googlemail.com>
Date2015-01-09 03:36 -0800
Message-ID<5874a6f5-d832-431a-846a-7b274efb7b06@googlegroups.com>
In reply to#35643
On Friday, 9 January 2015 08:10:07 UTC, Stan Barr  wrote:
> On Thu, 08 Jan 2015 11:08:21 -0800, Paul Rubin <no.email@nospam.invalid> wrote:
> > I wonder if those of you who developed Forth programs in the era of
> > blocks and screens could say what it was like, compared to today's Forth
> > environments.
> 
> Just a quick comment:
> Back around early 1980's I was using Forth-79 on a TRS-80 (which
> conveniently had a screen of 16 lines of 64 chars!) and I developed a
> ForthOS which allowed named sequences of blocks and a directory
> structure.   These blocks were not necessary contiguous, the OS put
> them in any handy empty space and BLOCK etc were modified to handle
> the necessary logical to physical block number translation, so block 17
> in file MYFILE might be block 124 on the actual disk.  A sort of
> half-way house to file orientated Forth. 
>
 
F83, and other Forths of that time, used block files on CP/M or DOS. I wrote a utility that read a normal text file and split it into 1k chunks (as many paragraphs as could fit in 30 lines - the most that would display on on my PCW screen without scrolling - padded with spaces) and a word-wrapping editor to view and modify the result.  That was a /lot/ faster than Lococscript, and with a bit of ingenious screen indexing, made a great reference tool.     

[toc] | [prev] | [next] | [standalone]


#35651

FromPaul E Bennett <Paul_E.Bennett@topmail.co.uk>
Date2015-01-09 14:14 +0000
Message-ID<cha61sFq5jiU1@mid.individual.net>
In reply to#35605
Paul Rubin wrote:

> I wonder if those of you who developed Forth programs in the era of
> blocks and screens could say what it was like, compared to today's Forth
> environments.
> 
> What Forth system did you use?  What code editor?  What hardware?
> 
> Did you use the scheme of having a comment screen for each code screen?
> 
> What kind of planning process did you use, before you started coding?
> E.g. did you write a (maybe informal) code glossary ahead of time?
> 
> Did you feel constrained by the 64 char lines, especially if you used
> stack comments?  Were stack comments expected then the way they are now?
> 
> How did you debug?  Was it common for the whole machine to lock up if
> your program had a bug that clobbered memory?  What did you do when that
> happened?
> 
> How did development time for a Forth program compare to writing
> something similar in BASIC, for the problems BASIC could handle?  I know
> that Forth could do a lot of things that were essentially impossible in
> BASIC, but I'm not asking about those.

Pheww!!!! you guys were busy yesterday!

I only came to Forth in 1982. Previous to that, while I had dealt with 
languages like BASIC (various types), MUMPS and Fortran IV, I did most of my 
serious controller programming in machine code or, if I was lucky, 
Assembler. The Switches and Lamps entry method was very well known to me and 
I guess it was not too dissimilar to playing a piano.

I was became interested in Forth when someone gave me a copy of "Starting 
Forth". I had a BBC B Micro at the time (6502 based) and soon found a copy 
of the BBC Forth and Joe Brown Forth. I enjoyed the playtime with it at the 
time. I added an ATARI MegaST 4 to my computer inventory which gave me a 
3.5" floppy and soon after also added the 30Mb hard disk drive. I obtained 
MPE's GemForth-ST for the machine and got more into Forth. Needing a more 
portable arrangement I picked up a Zenith PC with two 3.5" floppies. I soon 
found that the two disk formats were able to be kept similar enough that I 
could transfer between machines.

All the Forth's I used in that era had screen editors built in. The MPE 
Forth's had blocks in files, which helped storage management a little as I 
could create individual block-files for each project (some of them became 
nothing more than LOAD's from the selected blocks from my library of code.

I never used the shadow screen approach, preferring instead to include 
enough comments within the source code itself (that way the comments never 
got parted from the code). It is still the form I use today now I have gone 
to entirely files. This style became central to my approach in High 
Integrity Control Systems and my methods for software certification. I had 
already done "correct by construction" machine code so Forth for me became 
probably the best macro assembler ever.

-- 
********************************************************************
Paul E. Bennett IEng MIET.....<email://Paul_E.Bennett@topmail.co.uk>
Forth based HIDECS Consultancy.............<http://www.hidecs.co.uk>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************

[toc] | [prev] | [next] | [standalone]


#35653

Fromalbert@spenarnc.xs4all.nl (Albert van der Horst)
Date2015-01-09 15:25 +0000
Message-ID<54aff2e2$0$15840$e4fe514c@dreader35.news.xs4all.nl>
In reply to#35651
In article <cha61sFq5jiU1@mid.individual.net>,
Paul E Bennett  <Paul_E.Bennett@topmail.co.uk> wrote:
<SNIP>
>I never used the shadow screen approach, preferring instead to include
>enough comments within the source code itself (that way the comments never
>got parted from the code). It is still the form I use today now I have gone
>to entirely files. This style became central to my approach in High
>Integrity Control Systems and my methods for software certification. I had
>already done "correct by construction" machine code so Forth for me became
>probably the best macro assembler ever.

I now use content addressable screens, made possible by the speed of
modern machines. That makes shadow screens infeasable.
If I want VALUE , I ask the system to load the screen with "VALUE"
in the index line. (It is a bit more sophisticated than that, but
I leave that for now.)

WANT VALUE
 OK
LOCATE VALUE
SCR # 83
 0 ( VALUE TO FROM ) \ AvdH B2aug07
 1
 2
 3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO , 2 : +TO .
 4 CREATE _value_jumps  '@ , '! , '+! ,
 5 : FROM 0 TO-MESSAGE ! ;
 6 \ ISO
 7 : TO  1 TO-MESSAGE ! ;
 8 \ ISO
 9 : +TO 2 TO-MESSAGE ! ;
10
11 \ ISO
12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
13     @ EXECUTE   FROM ;
14

Note that ISO means, "look in the standard for what the word does".
No need to replicate that here. Here a fortiori, a mandatory shadow
block would be a waste of space, as well as an unnecessary complication.

>
>--
>Paulng MIET.....<email://Paul_E E. Bennett IE.Bennett@topmail.co.uk>


Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#35665

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2015-01-09 20:20 +0000
Message-ID<m8pd4j$56c$1@dont-email.me>
In reply to#35653
On 09/01/2015 15:25, Albert van der Horst wrote:
> SCR # 83
>   0 ( VALUE TO FROM ) \ AvdH B2aug07
>   1
>   2
>   3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO , 2 : +TO .
>   4 CREATE _value_jumps  '@ , '! , '+! ,
>   5 : FROM 0 TO-MESSAGE ! ;
>   6 \ ISO
>   7 : TO  1 TO-MESSAGE ! ;
>   8 \ ISO
>   9 : +TO 2 TO-MESSAGE ! ;
> 10
> 11 \ ISO
> 12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
> 13     @ EXECUTE   FROM ;
> 14
>
> Note that ISO means, "look in the standard for what the word does".

I suggest you try looking for +TO in the standard


-- 
Gerry

[toc] | [prev] | [next] | [standalone]


#35666

Fromalbert@spenarnc.xs4all.nl (Albert van der Horst)
Date2015-01-09 20:47 +0000
Message-ID<54b03e73$0$15939$e4fe514c@dreader35.news.xs4all.nl>
In reply to#35665
In article <m8pd4j$56c$1@dont-email.me>,
Gerry Jackson  <gerry@jackson9000.fsnet.co.uk> wrote:
>On 09/01/2015 15:25, Albert van der Horst wrote:
>> SCR # 83
>>   0 ( VALUE TO FROM ) \ AvdH B2aug07
>>   1
>>   2
>>   3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO , 2 : +TO .
>>   4 CREATE _value_jumps  '@ , '! , '+! ,
>>   5 : FROM 0 TO-MESSAGE ! ;
>>   6 \ ISO
>>   7 : TO  1 TO-MESSAGE ! ;
>>   8 \ ISO
>>   9 : +TO 2 TO-MESSAGE ! ;
>> 10
>> 11 \ ISO
>> 12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
>> 13     @ EXECUTE   FROM ;
>> 14
>>
>> Note that ISO means, "look in the standard for what the word does".
>
>I suggest you try looking for +TO in the standard

Nice catch.

This is the actual content of screen 83

0 ( VALUE TO FROM ) \ AvdH B2aug07
 1
 2
 3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO .
 4 CREATE _value_jumps  '@ , '! , '+! ,
 5 : FROM 0 TO-MESSAGE ! ;
 6 \ ISO
 7 : TO  1 TO-MESSAGE ! ;
 8 \ Signal that we want to add to value
 9 : +TO 2 TO-MESSAGE ! ;
10
11 \ ISO
12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
13     @ EXECUTE   FROM ;
14
15

I thought I had a bug, and didn't want to show it to the world.
(Turns red.)


>--
>Gerry

Groetjes Albert
-- 
Albert van der Horst, UTRECHT,THE NETHERLANDS
Economic growth -- being exponential -- ultimately falters.
albert@spe&ar&c.xs4all.nl &=n http://home.hccnet.nl/a.w.m.van.der.horst

[toc] | [prev] | [next] | [standalone]


#35669

Fromhughaguilar96@gmail.com
Date2015-01-09 13:08 -0800
Message-ID<54711805-823a-417d-baee-de9186d7b82d@googlegroups.com>
In reply to#35665
On Friday, January 9, 2015 at 1:20:00 PM UTC-7, Gerry wrote:
> On 09/01/2015 15:25, Albert van der Horst wrote:
> > SCR # 83
> >   0 ( VALUE TO FROM ) \ AvdH B2aug07
> >   1
> >   2
> >   3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO , 2 : +TO .
> >   4 CREATE _value_jumps  '@ , '! , '+! ,
> >   5 : FROM 0 TO-MESSAGE ! ;
> >   6 \ ISO
> >   7 : TO  1 TO-MESSAGE ! ;
> >   8 \ ISO
> >   9 : +TO 2 TO-MESSAGE ! ;
> > 10
> > 11 \ ISO
> > 12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
> > 13     @ EXECUTE   FROM ;
> > 14
> >
> > Note that ISO means, "look in the standard for what the word does".
> 
> I suggest you try looking for +TO in the standard

Most implementation of +TO aren't any good anyway because they don't support local variables. I have a working implementation of +TO in the novice-package.

The ANS-Forth standard doesn't have +TO --- does Forth-200x have it? --- if so, does it support both global VALUEs and local variables?

[toc] | [prev] | [next] | [standalone]


#35671

FromGerry Jackson <gerry@jackson9000.fsnet.co.uk>
Date2015-01-09 21:34 +0000
Message-ID<m8phfv$ms7$1@dont-email.me>
In reply to#35669
On 09/01/2015 21:08, hughaguilar96@gmail.com wrote:
> On Friday, January 9, 2015 at 1:20:00 PM UTC-7, Gerry wrote:
>> On 09/01/2015 15:25, Albert van der Horst wrote:
>>> SCR # 83
>>>    0 ( VALUE TO FROM ) \ AvdH B2aug07
>>>    1
>>>    2
>>>    3 VARIABLE TO-MESSAGE   \ 0 : FROM ,  1 : TO , 2 : +TO .
>>>    4 CREATE _value_jumps  '@ , '! , '+! ,
>>>    5 : FROM 0 TO-MESSAGE ! ;
>>>    6 \ ISO
>>>    7 : TO  1 TO-MESSAGE ! ;
>>>    8 \ ISO
>>>    9 : +TO 2 TO-MESSAGE ! ;
>>> 10
>>> 11 \ ISO
>>> 12 : VALUE CREATE , DOES> _value_jumps TO-MESSAGE @ CELLS +
>>> 13     @ EXECUTE   FROM ;
>>> 14
>>>
>>> Note that ISO means, "look in the standard for what the word does".
>>
>> I suggest you try looking for +TO in the standard
>
> Most implementation of +TO aren't any good anyway because they don't support local variables. I have a working implementation of +TO in the novice-package.
>
> The ANS-Forth standard doesn't have +TO --- does Forth-200x have it? ---

It's not in the forth14-5.pdf document dated Nov 2014.


-- 
Gerry

[toc] | [prev] | [next] | [standalone]


#35690

Fromhughaguilar96@gmail.com
Date2015-01-10 14:00 -0800
Message-ID<5b37ed68-af7a-44c9-b4db-9239867233c6@googlegroups.com>
In reply to#35671
On Friday, January 9, 2015 at 2:34:20 PM UTC-7, Gerry wrote:
> On 09/01/2015 21:08, hughaguilar96@gmail.com wrote:
> > Most implementation of +TO aren't any good anyway because they don't support local variables. I have a working implementation of +TO in the novice-package.
> >
> > The ANS-Forth standard doesn't have +TO --- does Forth-200x have it? ---
> 
> It's not in the forth14-5.pdf document dated Nov 2014.

In my language, I have -! AND! OR! XOR! etc.. All useful, which is why C has them. Strictly speaking, they aren't needed because a good optimizer should be able to get rid of all the pushes and pops to the stack anyway --- I'm undecided if I want to expose them to the user or just let the optimizer compile them internally. If I expose them to the user, then that makes my language "fat" and the user has more words to learn. OTOH, they shorten the source-code which presumably helps readability. Having +! but not the others is a bad idea though, as it indicates indecision one way or the other.

I am getting rid of words like 1+ that are just a throwback to the 1970s when optimizing compilers didn't exist for Forth.

At my encouragement, Slava provided something like */ for Factor (this was so he could write LC53 in Factor). It is hidden from the user however --- the optimizer compiles it internally.

[toc] | [prev] | [next] | [standalone]


#35719

Fromhughaguilar96@gmail.com
Date2015-01-11 11:45 -0800
Message-ID<861db16d-9969-4d39-ac69-734daaa44f9f@googlegroups.com>
In reply to#35690
On Saturday, January 10, 2015 at 3:00:36 PM UTC-7, hughag...@gmail.com wrote:
> On Friday, January 9, 2015 at 2:34:20 PM UTC-7, Gerry wrote:
> > On 09/01/2015 21:08, hughaguilar96@gmail.com wrote:
> > > Most implementation of +TO aren't any good anyway because they don't support local variables. I have a working implementation of +TO in the novice-package.
> > >
> > > The ANS-Forth standard doesn't have +TO --- does Forth-200x have it? ---
> > 
> > It's not in the forth14-5.pdf document dated Nov 2014.
> 
> In my language, I have -! AND! OR! XOR! etc.. 

I got confused here and I mixed up +TO etc. with +! etc. --- this is a chronic source of confusion for me. When I'm programming, I often can't remember if I'm supposed to use ! or TO on a particular variable, and it is quite confusing when I have several variables of both kinds in use in the same function.

In my own language, I got rid of TO altogether, as there is no reason to have two different kinds of variables. TO was the obvious one to discard, because it doesn't allow the variable's address to be passed around as a parameter, so it is not as robust. I remember a "Forth Dimensions" article way back in the 1980s that introduced TO and had it work with CONSTANT defined words --- I thought it was a bad idea then too.

My language is actually much simpler than ANS-Forth --- all this gratuitous complication that has no discernible purpose gets filed under 'E' of Ediocy, and forgotten about forever.

[toc] | [prev] | [next] | [standalone]


#35670

FromPaul Rubin <no.email@nospam.invalid>
Date2015-01-09 13:28 -0800
Message-ID<87y4pbr6e7.fsf@jester.gateway.sonic.net>
In reply to#35651
Paul E Bennett <Paul_E.Bennett@topmail.co.uk> writes:
> I never used the shadow screen approach, preferring instead to include 
> enough comments within the source code itself (that way the comments never 
> got parted from the code).

Was that still with 16x64 screens?  Did it get in the way of having
enough code on the screen to see what you were doing?  Did you have a
way to interact with the interpreter while still having code on the
screen?

[toc] | [prev] | [next] | [standalone]


#35691

FromPaul E Bennett <Paul_E.Bennett@topmail.co.uk>
Date2015-01-10 22:41 +0000
Message-ID<chdo4fFogjmU1@mid.individual.net>
In reply to#35670
Paul Rubin wrote:

> Paul E Bennett <Paul_E.Bennett@topmail.co.uk> writes:
>> I never used the shadow screen approach, preferring instead to include
>> enough comments within the source code itself (that way the comments
>> never got parted from the code).
> 
> Was that still with 16x64 screens?  Did it get in the way of having
> enough code on the screen to see what you were doing?  Did you have a
> way to interact with the interpreter while still having code on the
> screen?

I have tended to use a more vertical style than most and it was not unusual 
for me to have just one or two definitions per screen. Yes, it was the usual 
16*64 block. Sometimes the comments would occupy half a block with just a 
three line definition. Sometimes I would include defining an essential 
constant or variable within the same block.

I planned projects out using a number of triads to hold the essential 
conceptual lexicon I needed. With n THRU-USING and n LOAD-USING I could 
bring in components from other blocks (I have only ever used the blocks in 
files between leaving tape storage until I switched to files proper more 
recently).

I embedded a few useful tools into my development environment that enabled 
me to keep track of what I was doing at all times. It is usually easier to 
concentrate on one thing at a time but when you needed to focus on more than 
that the added tools helped.

With files the modus operandi has had to change a bit.  Now I have my 
development base on one half of the screen and the editor on the other half. 
Had to ditch the tools that were useful with blocks when switching over to 
files.

I have posted code here in both styles of layout (having converted the 
blocks to a plain text file first). I am sure a bit of time with Google will 
find it.

-- 
********************************************************************
Paul E. Bennett IEng MIET.....<email://Paul_E.Bennett@topmail.co.uk>
Forth based HIDECS Consultancy.............<http://www.hidecs.co.uk>
Mob: +44 (0)7811-639972
Tel: +44 (0)1235-510979
Going Forth Safely ..... EBA. www.electric-boat-association.org.uk..
********************************************************************

[toc] | [prev] | [next] | [standalone]


#35692

Fromhughaguilar96@gmail.com
Date2015-01-10 18:49 -0800
Message-ID<beb6df53-5ee5-45e2-97a0-c33af9ac3671@googlegroups.com>
In reply to#35691
On Saturday, January 10, 2015 at 3:41:23 PM UTC-7, Paul E Bennett wrote:
> I planned projects out using a number of triads to hold the essential 
> conceptual lexicon I needed. With n THRU-USING and n LOAD-USING I could 
> bring in components from other blocks (I have only ever used the blocks in 
> files between leaving tape storage until I switched to files proper more 
> recently).

That wasn't in Forth-83, and I don't think UR/Forth had it, or I would have used it --- what Forth was that?

I might have been able to write that --- it would require saving the context of the current file --- there is BLK and >IN but I don't know where the handle for the file would be. I don't think USING was Forth-83 either, so none of this would be standard.

There weren't any code-libraries available anyway, and I was hired to write MFX not general-purpose code, so it was a non-issue anyway.

I never even heard the term "triad" before this thread --- I never made paper print-outs, as MFX was growing too fast for anybody to bother with a print-out --- besides that, UR/Forth had good support for working with source-files. I never made print-outs in C either --- I haven't actually printed out a source-file since C64 days (the C64 screen was only 40 chars wide).

> I embedded a few useful tools into my development environment that enabled 
> me to keep track of what I was doing at all times. It is usually easier to 
> concentrate on one thing at a time but when you needed to focus on more than 
> that the added tools helped.

UR/Forth had a utility that would display all of the 1st lines of all of the screens in a range --- so, we would generally put a comment on the 1st line that described what words were in the screen to help find them --- there was no LOCATE, although I could have written it if I had had the time.

The big problem, was that I was hired to write MFX, not to write utility programs, so I really didn't have time to write code that wasn't directly related to the program. I think UR/Forth was the best Forth available in MS-DOS days, but it was still pretty primitive --- not the glitzy IDE you get with C or Turbo Pascal.

[toc] | [prev] | [next] | [standalone]


Page 2 of 4 — ← Prev page 1 [2] 3 4  Next page →

Back to top | Article view | comp.lang.forth


csiph-web