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


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

Forth reinvention

Started bydambere@web.de
First post2014-02-20 01:19 -0800
Last post2014-03-08 05:31 -0800
Articles 13 on this page of 73 — 24 participants

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


Contents

  Forth reinvention dambere@web.de - 2014-02-20 01:19 -0800
    Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-20 05:07 -0500
      Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-20 14:56 +0000
        Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-20 16:16 -0500
          Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-20 23:25 +0000
            Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-20 20:42 -0500
              Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-21 12:41 +0000
    Re: Forth reinvention Hans Bezemer <the.beez.speaks@gmail.com> - 2014-02-20 11:18 +0100
      Re: Forth reinvention dambere@web.de - 2014-02-20 02:36 -0800
        Re: Forth reinvention Hans Bezemer <the.beez.speaks@gmail.com> - 2014-02-20 17:35 +0100
          Re: Forth reinvention dambere@web.de - 2014-02-20 11:34 -0800
            Re: Forth reinvention "Elizabeth D. Rather" <erather@forth.com> - 2014-02-20 09:53 -1000
            Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-02-20 12:23 -0800
              Re: Forth reinvention dambere@web.de - 2014-02-20 14:00 -0800
                Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-02-20 14:23 -0800
                  Re: Forth reinvention dambere@web.de - 2014-02-22 02:21 -0800
                    Re: Forth reinvention AKK <akk@nospam.org> - 2014-02-22 12:02 +0100
                Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-21 04:38 -0600
            Re: Forth reinvention Mark Wills <markrobertwills@yahoo.co.uk> - 2014-02-20 12:35 -0800
              Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-02-20 13:38 -0800
    Re: Forth reinvention m.a.m.hendrix@tue.nl - 2014-02-20 03:59 -0800
      Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-20 15:11 +0000
        Re: Forth reinvention m.a.m.hendrix@tue.nl - 2014-02-20 07:41 -0800
    Re: Forth reinvention Richard Owlett <rowlett@pcnetinc.com> - 2014-02-20 06:38 -0600
      Re: Forth reinvention dambere@web.de - 2014-02-20 12:03 -0800
    Re: Forth reinvention Julian Fondren <julian.fondren@gmail.com> - 2014-02-20 07:08 -0800
    Re: Forth reinvention "Elizabeth D. Rather" <erather@forth.com> - 2014-02-20 09:37 -1000
      Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-20 20:50 +0000
        Re: Forth reinvention "Elizabeth D. Rather" <erather@forth.com> - 2014-02-20 15:39 -1000
          Re: Forth reinvention albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-02-21 10:50 +0000
          Re: Forth reinvention Paul E Bennett <Paul_E.Bennett@topmail.co.uk> - 2014-02-21 11:10 +0000
            Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-21 13:50 +0000
          Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-21 05:46 -0600
            Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-21 12:55 +0000
            Re: Forth reinvention anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-02-21 15:11 +0000
              Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-22 09:23 -0600
          Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-21 12:38 +0000
          Re: Forth reinvention anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-02-22 13:29 +0000
            Re: Forth reinvention "Elizabeth D. Rather" <erather@forth.com> - 2014-02-22 07:52 -1000
              Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-22 19:06 +0000
              Re: Forth reinvention anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-02-23 13:40 +0000
      Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-20 20:40 -0500
        Re: Forth reinvention "Elizabeth D. Rather" <erather@forth.com> - 2014-02-20 18:43 -1000
          Re: Forth reinvention Hans Bezemer <the.beez.speaks@gmail.com> - 2014-02-21 13:16 +0100
        Re: Forth reinvention stephenXXX@mpeforth.com (Stephen Pelc) - 2014-02-21 10:49 +0000
      Re: Forth reinvention anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-02-21 14:50 +0000
        Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-21 16:28 +0000
          Re: Forth reinvention anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-02-22 12:54 +0000
            Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnohavenotit.cnm> - 2014-02-22 10:27 -0500
            Re: Forth reinvention "Alex McDonald" <blog@rivadpm.com> - 2014-02-22 17:49 +0000
        Re: Forth reinvention Bernd Paysan <bernd.paysan@gmx.de> - 2014-02-21 20:51 +0100
          Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-22 09:39 -0600
            Re: Forth reinvention Bernd Paysan <bernd.paysan@gmx.de> - 2014-02-23 02:40 +0100
              Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-02-22 19:24 -0800
                Re: Forth reinvention Bernd Paysan <bernd.paysan@gmx.de> - 2014-02-23 22:48 +0100
              Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-23 04:39 -0600
                Re: Forth reinvention Bernd Paysan <bernd.paysan@gmx.de> - 2014-02-23 22:46 +0100
                  Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-02-23 14:26 -0800
                    Re: Forth reinvention Bernd Paysan <bernd.paysan@gmx.de> - 2014-02-24 02:44 +0100
                      Re: Forth reinvention Spam@ControlQ.com - 2014-03-03 12:43 -0500
                      Re: Forth reinvention Paul Rubin <no.email@nospam.invalid> - 2014-03-03 10:06 -0800
                  Re: Forth reinvention Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-02-24 03:59 -0600
    Re: Forth reinvention mike73900@gmail.com - 2014-03-03 14:04 -0800
      Re: Forth reinvention mhx@iae.nl - 2014-03-05 06:59 -0800
        Re: Forth reinvention Matthias Koch <matthias.koch@hot.uni-hannover.de> - 2014-03-05 16:33 +0100
        Re: Forth reinvention Mark Wills <markwills1970@gmail.com> - 2014-03-05 09:08 -0800
          Re: Forth reinvention mhx@iae.nl - 2014-03-05 10:47 -0800
    Re: Forth reinvention AKK <akk@nospam.org> - 2014-03-07 07:30 +0100
      Re: Forth reinvention Lars Brinkhoff <lars.spam@nocrew.org> - 2014-03-07 07:55 +0100
      Re: Forth reinvention albert@spenarnc.xs4all.nl (Albert van der Horst) - 2014-03-07 09:29 +0000
        Re: Forth reinvention AKK <akk@nospam.org> - 2014-03-07 12:04 +0100
        Re: Forth reinvention "Rod Pemberton" <dont_use_email@xnothavet.cqm> - 2014-03-07 17:03 -0500
          Re: Forth reinvention Mark Wills <markwills1970@gmail.com> - 2014-03-08 05:31 -0800

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


#28872

FromPaul Rubin <no.email@nospam.invalid>
Date2014-03-03 10:06 -0800
Message-ID<7xa9d7i2bs.fsf@ruckus.brouhaha.com>
In reply to#28870
Bernd Paysan <bernd.paysan@gmx.de> writes:
> I can try with the condition variable. ... I frequently have the case
> that a thread waits for a file or socket *and* for signals from other
> threads, and whatever comes first, is handled appropriately.

I'd expect signals would wake up the process from waiting for a
condition variable too, though I haven't tried that.

Unix thread switching is actually not all that fast.  You might consider
a userspace threading or coroutine approach.

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


#28735

FromAndrew Haley <andrew29@littlepinkcloud.invalid>
Date2014-02-24 03:59 -0600
Message-ID<kvKdnZsj3sSOhZbOnZ2dnUVZ_rSdnZ2d@supernews.com>
In reply to#28721
Bernd Paysan <bernd.paysan@gmx.de> wrote:
> Andrew Haley wrote:
>> Buy why on Earth would you use the network stack when doing this high-
>> speed communication?  Why involve the OS at all, lat alone UDP?
> 
> That was just a comparison.  Sending a byte via a Unix fifo from one thread 
> to the other takes about the same amount of time.
> 
>> Surely that's far too complex a protocol for a job like this.  If you
>> can hit the cache of another core in 75 cycles, why not just do so?
> 
> Because the hardware doesn't give me a "start/stop thread"
> communication mean.  As this is a network stack, the decrypt thread
> would have no idea how often it needs to decrypt a packet.  A
> possible solution is to busy-wait on a shared variable for some
> time, and if that fails, resort to OS communication.

Indeed, but you wrote

> ... the result was that the communication overhead between the
> two tasks was big enough to make the parallel solution slower than
> the do-it-all-on-one-core simple sequential solution.

... which is vacuously true if you use a slow communication mechanism.
It can be done very fast if you don't mind keeping a core spinning for
a while.

I'm right with you on system call overhead: it's always seemed
amazingly long to me.  I don't know of anything faster than a
lock-free queue and a futex, but these are AFAIAA dominated by the
same overhead.

Intel has MONITOR and MWAIT instructions, which would do the job
nicely, but these are privileged.

Andrew.

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


#28881

Frommike73900@gmail.com
Date2014-03-03 14:04 -0800
Message-ID<a2731c0e-e6c7-476c-b54d-6447f9209758@googlegroups.com>
In reply to#28595
On Thursday, 20 February 2014 09:19:23 UTC, dam...@web.de  wrote:
> With regard to the discussion in 'Forth in oblivion', I have specifically asked the question what properties a Forth successor should have ?
> 
> 
> 
> I think important are the following aspects:
> 
> 
> 
> - switch to infix notation:
> 
> Personally I found RPN an elegant, mathematical notation both solving inconsistencies of traditional infix notations and ease parsing. However, in general people have an innate aversion to the adoption of unorthodox concepts nor are people able to think in abstract terms of implementation efficiency. For these psychological reasons, a RPN based programming language can hardly interest a wider audience without constraint, especially since most programmers these days are already grown with quite different (and much more complex) languages compared to Forth.
> 
> - Automatic parallelization:
> 
> The trend goes to multi core architectures. A programming language that is relieving the programmer from the not inconsiderable task of paralleling programs will necessarily be attractive.
> 
> - Lack of leadership:
> 
> To my knowledge, there exist no central leadership with financial impact to promote Forth by all means. This must change.

If it's not postfix/RPN, it's not forth.

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


#28927

Frommhx@iae.nl
Date2014-03-05 06:59 -0800
Message-ID<2cc242f3-94fb-4843-a49c-7de94b7850e9@googlegroups.com>
In reply to#28881
On Monday, March 3, 2014 11:04:16 PM UTC+1, mike...@gmail.com wrote:
[..]
>> Personally I found RPN an elegant, mathematical notation both 
>> solving inconsistencies of traditional infix notations and ease 
>> parsing. However, in general people have an innate aversion to 
>> the adoption of unorthodox concepts nor are people able to think 
>> in abstract terms of implementation efficiency. For these 
>> psychological reasons, a RPN based programming language can 
>> hardly interest a wider audience without constraint, especially 
>> since most programmers these days are already grown with quite 
>> different (and much more complex) languages compared to Forth.

[..] 
> If it's not postfix/RPN, it's not forth.
[..]

So you think this is NOT Forth?

PROGRAM testf
VAR laufVar, i, j, SUM
BEGIN
Read i;
laufVar := i+1.0123E-2;
j := COS(0.0 - 1.1);
SUM := j;
WHILE laufVar > 0 DO
	j := j + TAN(SQRT(SQR(i)+SQR(j)+2.12E-13));
	IF j#3 THEN SUM := SUM+j END;
	laufVar := laufVar - 1.12E+13
	END;
IF i+1 > 0 THEN j:=j-2 END;
IF i > 0 THEN SUM := 3.14159E-1+SUM END;
Write SUM - (j - 2.0 * 2.0E0 + 11.00 + 9.123E-0 - (3.0*5.0)) 
END

-marcel

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


#28929

FromMatthias Koch <matthias.koch@hot.uni-hannover.de>
Date2014-03-05 16:33 +0100
Message-ID<lf7gep$qml$1@newsserver.rrzn.uni-hannover.de>
In reply to#28927
> So you think this is NOT Forth?
> 
> PROGRAM testf
> VAR laufVar, i, j, SUM
> BEGIN
> Read i;
> laufVar := i+1.0123E-2;
> j := COS(0.0 - 1.1);
> SUM := j;
> WHILE laufVar > 0 DO
> 	j := j + TAN(SQRT(SQR(i)+SQR(j)+2.12E-13));
> 	IF j#3 THEN SUM := SUM+j END;
> 	laufVar := laufVar - 1.12E+13
> 	END;
> IF i+1 > 0 THEN j:=j-2 END;
> IF i > 0 THEN SUM := 3.14159E-1+SUM END;
> Write SUM - (j - 2.0 * 2.0E0 + 11.00 + 9.123E-0 - (3.0*5.0)) 
> END
> 
> -marcel

Not for a first glance, you have no whitespaces between words :-) But it is neither Pascal, as variable types are not specified. A very special result of arm-twisting a Forth implementation ?

Matthias

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


#28930

FromMark Wills <markwills1970@gmail.com>
Date2014-03-05 09:08 -0800
Message-ID<465cdd7d-1cd8-4494-b7ad-435a86f563ad@googlegroups.com>
In reply to#28927
On Wednesday, 5 March 2014 14:59:14 UTC, m...@iae.nl  wrote:
> On Monday, March 3, 2014 11:04:16 PM UTC+1, mike...@gmail.com wrote:
> 
> [..]
> 
> >> Personally I found RPN an elegant, mathematical notation both 
> 
> >> solving inconsistencies of traditional infix notations and ease 
> 
> >> parsing. However, in general people have an innate aversion to 
> 
> >> the adoption of unorthodox concepts nor are people able to think 
> 
> >> in abstract terms of implementation efficiency. For these 
> 
> >> psychological reasons, a RPN based programming language can 
> 
> >> hardly interest a wider audience without constraint, especially 
> 
> >> since most programmers these days are already grown with quite 
> 
> >> different (and much more complex) languages compared to Forth.
> 
> 
> 
> [..] 
> 
> > If it's not postfix/RPN, it's not forth.
> 
> [..]
> 
> 
> 
> So you think this is NOT Forth?
> 
> 
> 
> PROGRAM testf
> 
> VAR laufVar, i, j, SUM
> 
> BEGIN
> 
> Read i;
> 
> laufVar := i+1.0123E-2;
> 
> j := COS(0.0 - 1.1);
> 
> SUM := j;
> 
> WHILE laufVar > 0 DO
> 
> 	j := j + TAN(SQRT(SQR(i)+SQR(j)+2.12E-13));
> 
> 	IF j#3 THEN SUM := SUM+j END;
> 
> 	laufVar := laufVar - 1.12E+13
> 
> 	END;
> 
> IF i+1 > 0 THEN j:=j-2 END;
> 
> IF i > 0 THEN SUM := 3.14159E-1+SUM END;
> 
> Write SUM - (j - 2.0 * 2.0E0 + 11.00 + 9.123E-0 - (3.0*5.0)) 
> 
> END
> 
> 
> 
> -marcel

Correct. That's not Forth. It be *implemented* with Forth, but that language itself is not Forth. If it *is* implemented in Forth then I take my hat off to you. Very neat indeed :-)

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


#28932

Frommhx@iae.nl
Date2014-03-05 10:47 -0800
Message-ID<b234177e-1dcc-4ea7-b7e0-1a6e1ae56da1@googlegroups.com>
In reply to#28930
On Wednesday, March 5, 2014 6:08:44 PM UTC+1, Mark Wills wrote:
> On Wednesday, 5 March 2014 14:59:14 UTC, m...@iae.nl  wrote:
[..]
> Correct. That's not Forth. It be *implemented* with Forth, 
> but that language itself is not Forth. If it *is* implemented 
> in Forth then I take my hat off to you. Very neat indeed :-)

Mark Wills <markwills1970@gmail.com> writes Re: Forth reinvention
[..]
>> So you think this is NOT Forth?
>> 
>> PROGRAM testf
[..]
>> END
[..]

> Correct. That's not Forth. It be *implemented* with Forth, but that language 
> itself is not Forth. If it *is* implemented in Forth then I take my hat off 
> to you. Very neat indeed :-)

All done with Gray-3 (M. Anton Ertl, 1990).

"not Forth" ... that's a difficult one. 

-- 
needs -mini
in test.min
5 testf 
-mini
3 3 + .
--

On which line did I sin against Forth?

-marcel

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


#28942

FromAKK <akk@nospam.org>
Date2014-03-07 07:30 +0100
Message-ID<53196790$0$6671$9b4e6d93@newsspool2.arcor-online.net>
In reply to#28595
Am 20.02.2014 10:19, schrieb dambere@web.de:
> With regard to the discussion in 'Forth in oblivion', I have
> specifically asked the question what properties a Forth successor
> should have ?
>
> I think important are the following aspects:
>
> - switch to infix notation:
 > Personally I found RPN an elegant,
> mathematical notation both solving inconsistencies of traditional
> infix notations and ease parsing. However, in general people have an
> innate aversion to the adoption of unorthodox concepts nor are people
> able to think in abstract terms of implementation efficiency. For
> these psychological reasons, a RPN based programming language can
> hardly interest a wider audience without constraint

The Bitcoin algorithm (this does interest a wider audience) seems to 
have been programmed using RPN:

http://www.salon.com/2014/03/06/bitcoins_creator_revealed_10_interesting_facts_about_the_mysterious_mastermind/

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


#28943

FromLars Brinkhoff <lars.spam@nocrew.org>
Date2014-03-07 07:55 +0100
Message-ID<85pply5wg8.fsf@junk.nocrew.org>
In reply to#28942
AKK wrote:
> The Bitcoin algorithm (this does interest a wider audience) seems to
> have been programmed using RPN

Bitcoin scripts are quite Forth-like:

https://en.bitcoin.it/wiki/Script

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


#28947

Fromalbert@spenarnc.xs4all.nl (Albert van der Horst)
Date2014-03-07 09:29 +0000
Message-ID<5319915c$0$25260$e4fe514c@dreader34.news.xs4all.nl>
In reply to#28942
In article <53196790$0$6671$9b4e6d93@newsspool2.arcor-online.net>,
AKK  <akk@nospam.org> wrote:
>Am 20.02.2014 10:19, schrieb dambere@web.de:
>> With regard to the discussion in 'Forth in oblivion', I have
>> specifically asked the question what properties a Forth successor
>> should have ?
>>
>> I think important are the following aspects:
>>
>> - switch to infix notation:
> > Personally I found RPN an elegant,
>> mathematical notation both solving inconsistencies of traditional
>> infix notations and ease parsing. However, in general people have an
>> innate aversion to the adoption of unorthodox concepts nor are people
>> able to think in abstract terms of implementation efficiency. For
>> these psychological reasons, a RPN based programming language can
>> hardly interest a wider audience without constraint
>
>The Bitcoin algorithm (this does interest a wider audience) seems to
>have been programmed using RPN:
>
>http://www.salon.com/2014/03/06/bitcoins_creator_revealed_10_interesting_facts_about_the_mysterious_mastermind/

A lot of uninteresting details. Except that he is a libertarian,
a political direction that no one can take seriously, so I translated
that to "a gifted person who has never given politics a serious thought".
Hmm, that detail is not interesting either. It applies to scores of gifted
persons including Chuck Moore.


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]


#28949

FromAKK <akk@nospam.org>
Date2014-03-07 12:04 +0100
Message-ID<5319a7d0$0$6661$9b4e6d93@newsspool2.arcor-online.net>
In reply to#28947
Am 07.03.2014 10:29, schrieb Albert van der Horst:
>> The Bitcoin algorithm (this does interest a wider audience) seems to
>> have been programmed using RPN:
>>
>> http://www.salon.com/2014/03/06/bitcoins_creator_revealed_10_interesting_facts_about_the_mysterious_mastermind/
>
> A lot of uninteresting details

Unless for those who lost money by relying on his Bitcoin business 
model.  ;-))

However knowing that it is programmed "a la Forth" may soothe their 
pain, of course.

Another Forth success story anyhow.

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


#28968

From"Rod Pemberton" <dont_use_email@xnothavet.cqm>
Date2014-03-07 17:03 -0500
Message-ID<op.xcdgvnf26zenlw@localhost>
In reply to#28947
On Fri, 07 Mar 2014 04:29:00 -0500, Albert van der Horst  
<albert@spenarnc.xs4all.nl> wrote:

<Albert's OT politics>

> Except that he is a libertarian, a political direction that no one
> can take seriously, so I translated that to "a gifted person who has
> never given politics a serious thought".

Lol.

Libertarian = rights that Democrats want + rights that Republicans want
Authoritarian = not Libertarian, i.e., prohibit or restrict everything,
   including money and individual rights

Political Compass
http://en.wikipedia.org/wiki/Political_compass

Links to two tests.  The second one seems to be less accurate,
or perhaps it's more European in values ...  The first correctly
placed me as a Libertarian and well into the region.  The second
almost placed me almost dead center which would be thoroughly
centrist if it labeled the centrist region...  This may have been
because I selected select "Agree" and "Disagree" more frequently
than  "Strongly Agree" and "Strongly Disagree".  So, you may need
to answer somewhat emphatically to get good results.  Some charts
label Authoritarian as Totalitarian, and Libertarian as Individualism.

World's Smallest Political Quiz
http://theadvocates.org/quiz/quiz.php

Political Compass test
http://www.politicalcompass.org/test


Rod Pemberton

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


#28979

FromMark Wills <markwills1970@gmail.com>
Date2014-03-08 05:31 -0800
Message-ID<6a1dd8c8-f52a-40a2-a433-7243620ddd87@googlegroups.com>
In reply to#28968
Awww bugger. It put me right between the Dali Lama and Nelson Mandela. There's no hope for me. I might as well just kill myself now! 

[toc] | [prev] | [standalone]


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

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


csiph-web