Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Avoid strange women and temporary variables.


devel / comp.lang.forth / colorForth and Object Oriented Programming

SubjectAuthor
* colorForth and Object Oriented ProgrammingHowerd
+* Re: colorForth and Object Oriented ProgrammingZbig
|`* Re: colorForth and Object Oriented ProgrammingZbig
| `* Re: colorForth and Object Oriented Programmingminforth
|  `* Re: colorForth and Object Oriented ProgrammingZbig
|   `* Re: colorForth and Object Oriented Programmingminforth
|    `* Re: colorForth and Object Oriented ProgrammingZbig
|     +* Re: colorForth and Object Oriented Programmingnone
|     |`* Re: colorForth and Object Oriented ProgrammingZbig
|     | `- Re: colorForth and Object Oriented Programmingnone
|     `* Re: colorForth and Object Oriented Programmingminforth
|      +- Re: colorForth and Object Oriented Programmingnone
|      `* Re: colorForth and Object Oriented ProgrammingAnton Ertl
|       +* Re: colorForth and Object Oriented Programmingminforth
|       |`* Re: colorForth and Object Oriented ProgrammingAnton Ertl
|       | `- Re: colorForth and Object Oriented Programmingnone
|       `* Re: colorForth and Object Oriented ProgrammingHowerd
|        +- Re: colorForth and Object Oriented Programmingdxforth
|        +* Re: colorForth and Object Oriented ProgrammingAnton Ertl
|        |+* Re: colorForth and Object Oriented Programmingdxf
|        ||`- Re: colorForth and Object Oriented ProgrammingAnton Ertl
|        |`* Re: colorForth and Object Oriented ProgrammingHowerd
|        | +- Re: colorForth and Object Oriented Programmingdxf
|        | `- Re: colorForth and Object Oriented ProgrammingAnton Ertl
|        `* Re: colorForth and Object Oriented ProgrammingRon Braithwaite
|         +* Re: colorForth and Object Oriented Programmingnone
|         |`- Re: colorForth and Object Oriented ProgrammingAnton Ertl
|         `- Re: colorForth and Object Oriented ProgrammingHowerd
`- Re: colorForth and Object Oriented ProgrammingBob Armstrong

Pages:12
colorForth and Object Oriented Programming

<77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24511&group=comp.lang.forth#24511

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:245:b0:76f:588:4be2 with SMTP id q5-20020a05620a024500b0076f05884be2mr196099qkn.1.1693772810727;
Sun, 03 Sep 2023 13:26:50 -0700 (PDT)
X-Received: by 2002:a17:90a:e64a:b0:26b:4c47:eeae with SMTP id
ep10-20020a17090ae64a00b0026b4c47eeaemr2042992pjb.5.1693772810496; Sun, 03
Sep 2023 13:26:50 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sun, 3 Sep 2023 13:26:49 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:c23:70af:4d00:a8be:dd0e:3de8:705;
posting-account=o1zNBwoAAABP2KiH5g6nPQp_sYWidVdt
NNTP-Posting-Host: 2a01:c23:70af:4d00:a8be:dd0e:3de8:705
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
Subject: colorForth and Object Oriented Programming
From: howerdo@yahoo.co.uk (Howerd)
Injection-Date: Sun, 03 Sep 2023 20:26:50 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1282
 by: Howerd - Sun, 3 Sep 2023 20:26 UTC

Hi Forthers,

I've just added a new PDF file for your enjoyment :

https://www.inventio.co.uk/colorforth/colorForth_and_Object_Oriented_Programming.pdf

Also available from here : https://www.inventio.co.uk/colorforth .

Enjoy :-)

Howerd

Re: colorForth and Object Oriented Programming

<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24522&group=comp.lang.forth#24522

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:162e:b0:63d:44c5:3f37 with SMTP id e14-20020a056214162e00b0063d44c53f37mr284127qvw.12.1693903112075;
Tue, 05 Sep 2023 01:38:32 -0700 (PDT)
X-Received: by 2002:a17:902:ec8f:b0:1bf:559a:7bd6 with SMTP id
x15-20020a170902ec8f00b001bf559a7bd6mr4600804plg.3.1693903111488; Tue, 05 Sep
2023 01:38:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 01:38:30 -0700 (PDT)
In-Reply-To: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=217.97.112.144; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 217.97.112.144
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Tue, 05 Sep 2023 08:38:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Zbig - Tue, 5 Sep 2023 08:38 UTC

Regarding OOP-ization of Forth (if at all) I'd like to suggest
„delegation” model rather than that „classic” one (with its
„polymorphism”, „inheritance” and similar „extras”).

„Delegation” model of OOP is way more comprehensible and
practical.

Re: colorForth and Object Oriented Programming

<7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24523&group=comp.lang.forth#24523

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:18e6:b0:64a:537a:2711 with SMTP id ep6-20020a05621418e600b0064a537a2711mr230420qvb.9.1693903181662;
Tue, 05 Sep 2023 01:39:41 -0700 (PDT)
X-Received: by 2002:a17:903:32d0:b0:1c1:f860:5ccd with SMTP id
i16-20020a17090332d000b001c1f8605ccdmr4284670plr.2.1693903181326; Tue, 05 Sep
2023 01:39:41 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 01:39:40 -0700 (PDT)
In-Reply-To: <c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=217.97.112.144; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 217.97.112.144
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Tue, 05 Sep 2023 08:39:41 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1426
 by: Zbig - Tue, 5 Sep 2023 08:39 UTC

Oh, I forgot to add an example: the good example
is „snit” TCL package:
https://core.tcl-lang.org/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/snit/snit.html

Re: colorForth and Object Oriented Programming

<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24525&group=comp.lang.forth#24525

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ac8:5747:0:b0:40e:5556:eddd with SMTP id 7-20020ac85747000000b0040e5556edddmr283360qtx.6.1693903789178;
Tue, 05 Sep 2023 01:49:49 -0700 (PDT)
X-Received: by 2002:a17:902:e811:b0:1bc:6e30:d3c3 with SMTP id
u17-20020a170902e81100b001bc6e30d3c3mr4169557plg.12.1693903788605; Tue, 05
Sep 2023 01:49:48 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 01:49:47 -0700 (PDT)
In-Reply-To: <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f00:ebdf:25a9:ff9:c401:cf06;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f00:ebdf:25a9:ff9:c401:cf06
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: minforth@arcor.de (minforth)
Injection-Date: Tue, 05 Sep 2023 08:49:49 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: minforth - Tue, 5 Sep 2023 08:49 UTC

Zbig schrieb am Dienstag, 5. September 2023 um 10:39:43 UTC+2:
> Oh, I forgot to add an example: the good example
> is „snit” TCL package:
> https://core.tcl-lang.org/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/snit/snit.html

Can you show a practical performance benchmark
against one of the established Forth OOP extensions
like SWOOP or FMS2?

Re: colorForth and Object Oriented Programming

<c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24526&group=comp.lang.forth#24526

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1849:b0:63d:a43:7b06 with SMTP id d9-20020a056214184900b0063d0a437b06mr249192qvy.9.1693904508197;
Tue, 05 Sep 2023 02:01:48 -0700 (PDT)
X-Received: by 2002:a05:6a00:1995:b0:68c:6a:aa65 with SMTP id
d21-20020a056a00199500b0068c006aaa65mr4804364pfl.0.1693904507579; Tue, 05 Sep
2023 02:01:47 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 02:01:46 -0700 (PDT)
In-Reply-To: <9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=217.97.112.144; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 217.97.112.144
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Tue, 05 Sep 2023 09:01:48 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Zbig - Tue, 5 Sep 2023 09:01 UTC

> > Oh, I forgot to add an example: the good example
> > is „snit” TCL package:
> > https://core.tcl-lang.org/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/snit/snit.html
> Can you show a practical performance benchmark
> against one of the established Forth OOP extensions
> like SWOOP or FMS2?

„Apples to oranges”.

What will tell you „performance benchmark” of an OOP package
prepared not just for different implementation, but for
completely different programming language?

No, I don't have such benchmark — and TCL itself is well-known
not being top-performer among scripting languages. Which doesn't
say anything about „delegation” model of OOP.

Re: colorForth and Object Oriented Programming

<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24527&group=comp.lang.forth#24527

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:2d8e:b0:76f:6e2:8bea with SMTP id tr14-20020a05620a2d8e00b0076f06e28beamr251965qkn.12.1693905752401;
Tue, 05 Sep 2023 02:22:32 -0700 (PDT)
X-Received: by 2002:a05:6a00:1c93:b0:68e:2623:cec with SMTP id
y19-20020a056a001c9300b0068e26230cecmr123413pfw.0.1693905751772; Tue, 05 Sep
2023 02:22:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 02:22:31 -0700 (PDT)
In-Reply-To: <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f00:ebdf:25a9:ff9:c401:cf06;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f00:ebdf:25a9:ff9:c401:cf06
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: minforth@arcor.de (minforth)
Injection-Date: Tue, 05 Sep 2023 09:22:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2630
 by: minforth - Tue, 5 Sep 2023 09:22 UTC

Zbig schrieb am Dienstag, 5. September 2023 um 11:01:50 UTC+2:
> > > Oh, I forgot to add an example: the good example
> > > is „snit” TCL package:
> > > https://core.tcl-lang.org/tcllib/doc/tcllib-1-18/embedded/www/tcllib/files/modules/snit/snit.html
> > Can you show a practical performance benchmark
> > against one of the established Forth OOP extensions
> > like SWOOP or FMS2?
> „Apples to oranges”.
>
> What will tell you „performance benchmark” of an OOP package
> prepared not just for different implementation, but for
> completely different programming language?
>
> No, I don't have such benchmark — and TCL itself is well-known
> not being top-performer among scripting languages. Which doesn't
> say anything about „delegation” model of OOP.

Fair enough.
In your earlier post you wrote "..regarding OOP-ization of Forth I'd suggest.."
so I asked if you had experienced any benefits to support your suggestion.
But question answered.

Re: colorForth and Object Oriented Programming

<51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24528&group=comp.lang.forth#24528

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:8c3:b0:63d:30b8:ff8b with SMTP id da3-20020a05621408c300b0063d30b8ff8bmr297173qvb.13.1693906000738;
Tue, 05 Sep 2023 02:26:40 -0700 (PDT)
X-Received: by 2002:a17:902:d48e:b0:1bc:1189:16d with SMTP id
c14-20020a170902d48e00b001bc1189016dmr4390579plg.3.1693906000180; Tue, 05 Sep
2023 02:26:40 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 02:26:39 -0700 (PDT)
In-Reply-To: <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=217.97.112.144; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 217.97.112.144
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Tue, 05 Sep 2023 09:26:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Zbig - Tue, 5 Sep 2023 09:26 UTC

No, I didn't even try to prepare anything like this for Forth;
I simply feel no need to do Forth more OOP-ed than its
„standard” tools (like CREATE DOES) allowed since years.

Re: colorForth and Object Oriented Programming

<nnd$644dfef2$3c6b7eb7@ad3ce7c81558b07a>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24530&group=comp.lang.forth#24530

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$644dfef2$3c6b7eb7@ad3ce7c81558b07a>
Organization: KPN B.V.
Date: Tue, 05 Sep 2023 12:18:28 +0200
Path: i2pn2.org!i2pn.org!nntp.comgw.net!peer02.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 25
Injection-Date: Tue, 05 Sep 2023 12:18:28 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 1880
 by: none - Tue, 5 Sep 2023 10:18 UTC

In article <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>,
Zbig <zbigniew2011@gmail.com> wrote:
>No, I didn't even try to prepare anything like this for Forth;
>I simply feel no need to do Forth more OOP-ed than its
>„standard” tools (like CREATE DOES) allowed since years.

I feel almost the same way. My class is in fact create/does>
with multiple named does>es. It takes one screen, two screens
if you count the FORMAT&EVAL it uses.

It is instrumental in more sophisticated programs like manx and
ciasdis. I have put a challenge out, to explain me why inheritance
would benifit those programs. So far, nothing.

Referring to tcl is not sufficient, to go study it.
A few examples that this style of programming is valuable could
do it.

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: colorForth and Object Oriented Programming

<ad83ae87-cdc2-492a-9db3-d25a86a0ce90n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24531&group=comp.lang.forth#24531

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:6214:1772:b0:651:7452:1d9b with SMTP id et18-20020a056214177200b0065174521d9bmr280519qvb.1.1693911091665;
Tue, 05 Sep 2023 03:51:31 -0700 (PDT)
X-Received: by 2002:a63:3745:0:b0:56a:f46:756c with SMTP id
g5-20020a633745000000b0056a0f46756cmr2637984pgn.0.1693911091188; Tue, 05 Sep
2023 03:51:31 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 03:51:30 -0700 (PDT)
In-Reply-To: <nnd$644dfef2$3c6b7eb7@ad3ce7c81558b07a>
Injection-Info: google-groups.googlegroups.com; posting-host=217.97.112.144; posting-account=cxuXKwoAAABQpPOMD55A9IPz7pPrw6ml
NNTP-Posting-Host: 217.97.112.144
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
<51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <nnd$644dfef2$3c6b7eb7@ad3ce7c81558b07a>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ad83ae87-cdc2-492a-9db3-d25a86a0ce90n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: zbigniew2011@gmail.com (Zbig)
Injection-Date: Tue, 05 Sep 2023 10:51:31 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 1630
 by: Zbig - Tue, 5 Sep 2023 10:51 UTC

> Referring to tcl is not sufficient, to go study it.
> A few examples that this style of programming is valuable could
> do it.

Several examples — of course, TCL examples — are on the linked
„snit” page.

Re: colorForth and Object Oriented Programming

<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24533&group=comp.lang.forth#24533

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:55e7:0:b0:63f:c14d:fac4 with SMTP id bu7-20020ad455e7000000b0063fc14dfac4mr282221qvb.2.1693913798774;
Tue, 05 Sep 2023 04:36:38 -0700 (PDT)
X-Received: by 2002:a17:903:2448:b0:1c0:760b:b5b2 with SMTP id
l8-20020a170903244800b001c0760bb5b2mr4408113pls.6.1693913798538; Tue, 05 Sep
2023 04:36:38 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Tue, 5 Sep 2023 04:36:37 -0700 (PDT)
In-Reply-To: <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=2003:f7:1f00:eb6f:801c:847:edb8:def9;
posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 2003:f7:1f00:eb6f:801c:847:edb8:def9
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: minforth@arcor.de (minforth)
Injection-Date: Tue, 05 Sep 2023 11:36:38 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2058
 by: minforth - Tue, 5 Sep 2023 11:36 UTC

Zbig schrieb am Dienstag, 5. September 2023 um 11:26:41 UTC+2:
> No, I didn't even try to prepare anything like this for Forth;
> I simply feel no need to do Forth more OOP-ed than its
> „standard” tools (like CREATE DOES) allowed since years.

Dick Pountain once wrote a whole book about object-oriented Forth
by stacking several CREATE DOES (BUILDS) structures over
each other. I found it rather intriguing at that time, although
many OO purists rejected it.

Re: colorForth and Object Oriented Programming

<nnd$7dec3f9b$43413ba4@dc1ba8a0c5690b40>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24537&group=comp.lang.forth#24537

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <nnd$644dfef2$3c6b7eb7@ad3ce7c81558b07a> <ad83ae87-cdc2-492a-9db3-d25a86a0ce90n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$7dec3f9b$43413ba4@dc1ba8a0c5690b40>
Organization: KPN B.V.
Date: Wed, 06 Sep 2023 11:14:51 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe005.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 19
Injection-Date: Wed, 06 Sep 2023 11:14:51 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 1611
 by: none - Wed, 6 Sep 2023 09:14 UTC

In article <ad83ae87-cdc2-492a-9db3-d25a86a0ce90n@googlegroups.com>,
Zbig <zbigniew2011@gmail.com> wrote:
>> Referring to tcl is not sufficient, to go study it.
>> A few examples that this style of programming is valuable could
>> do it.
>
>Several examples — of course, TCL examples — are on the linked
>„snit” page.

Sorry. You have to do better than merely mentionning a web page
before I looked into it.

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: colorForth and Object Oriented Programming

<nnd$0694840d$078c3bd2@dc1ba8a0c5690b40>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24538&group=comp.lang.forth#24538

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$0694840d$078c3bd2@dc1ba8a0c5690b40>
Organization: KPN B.V.
Date: Wed, 06 Sep 2023 11:19:52 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 26
Injection-Date: Wed, 06 Sep 2023 11:19:52 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 2114
 by: none - Wed, 6 Sep 2023 09:19 UTC

In article <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>,
minforth <minforth@arcor.de> wrote:
>Zbig schrieb am Dienstag, 5. September 2023 um 11:26:41 UTC+2:
>> No, I didn't even try to prepare anything like this for Forth;
>> I simply feel no need to do Forth more OOP-ed than its
>> „standard” tools (like CREATE DOES) allowed since years.
>
>Dick Pountain once wrote a whole book about object-oriented Forth
>by stacking several CREATE DOES (BUILDS) structures over
>each other. I found it rather intriguing at that time, although
>many OO purists rejected it.

I have studied the book. My conclusion was that he try to manage
a "me too", but failed to present convincing examples why you
would need it.
For example my ciasdis reverse engineers the 64 bit AMD ciforth
to a symbolic assembler program that can be relocated and
changed. That only uses a one screen oop extension.

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: colorForth and Object Oriented Programming

<2023Sep7.094035@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24548&group=comp.lang.forth#24548

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Thu, 07 Sep 2023 07:40:35 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 26
Message-ID: <2023Sep7.094035@mips.complang.tuwien.ac.at>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com> <9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
Injection-Info: dont-email.me; posting-host="9211c976b38d37528a71ee41653d87e0";
logging-data="3067771"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Dep7iwe9OLgHMqTnyteZj"
Cancel-Lock: sha1:8lc3xSrnJqv0452Ic7aBOfFeneE=
X-newsreader: xrn 10.11
 by: Anton Ertl - Thu, 7 Sep 2023 07:40 UTC

minforth <minforth@arcor.de> writes:
>Dick Pountain once wrote a whole book about object-oriented Forth
>by stacking several CREATE DOES (BUILDS) structures over
>each other. I found it rather intriguing at that time, although
>many OO purists rejected it.

Not sure what an OO purist is.

Anyway, I have read the book, and found it interesting at the time.
But the more I learned about object-oriented programming, the more I
found that Pountain mostly missed the point. The essential part of
OOP is run-time polymorphism (dynamic binding). Most of the book does
not deal with this feature at all; IIRC only the last chapter even
concerns itself with this topic, and it does so in a clumsy and
inefficient way. So this book has rightly been ignored by everyone
who really implemented and used OOP in Forth.

If you want to see how a minimalistic OOP package in Forth can look
like, look at <https://bernd-paysan.de/mini-oof.html>.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2023: https://euro.theforth.net/2023

Re: colorForth and Object Oriented Programming

<5399cc0e-2d82-486a-a189-34586e615bc7n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24550&group=comp.lang.forth#24550

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:6697:b0:76c:c5bf:6af5 with SMTP id qh23-20020a05620a669700b0076cc5bf6af5mr394460qkn.14.1694076320235;
Thu, 07 Sep 2023 01:45:20 -0700 (PDT)
X-Received: by 2002:a17:90a:c711:b0:268:9cfa:171c with SMTP id
o17-20020a17090ac71100b002689cfa171cmr507524pjt.4.1694076319944; Thu, 07 Sep
2023 01:45:19 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Thu, 7 Sep 2023 01:45:19 -0700 (PDT)
In-Reply-To: <2023Sep7.094035@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=87.157.109.105; posting-account=AqNUYgoAAADmkK2pN-RKms8sww57W0Iw
NNTP-Posting-Host: 87.157.109.105
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5399cc0e-2d82-486a-a189-34586e615bc7n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: minforth@arcor.de (minforth)
Injection-Date: Thu, 07 Sep 2023 08:45:20 +0000
Content-Type: text/plain; charset="UTF-8"
 by: minforth - Thu, 7 Sep 2023 08:45 UTC

Anton Ertl schrieb am Donnerstag, 7. September 2023 um 09:48:30 UTC+2:
> Anyway, I have read the book, and found it interesting at the time.
> But the more I learned about object-oriented programming, the more I
> found that Pountain mostly missed the point. The essential part of
> OOP is run-time polymorphism (dynamic binding). Most of the book does
> not deal with this feature at all; IIRC only the last chapter even
> concerns itself with this topic, and it does so in a clumsy and
> inefficient way. So this book has rightly been ignored by everyone
> who really implemented and used OOP in Forth.

Static polymorphism is limited indeed. But sufficient for many applications.
I wouldn't rule it out of the toolbox.
AFAIK C++ offers both: dynamic and static polymorphism.

Re: colorForth and Object Oriented Programming

<2023Sep8.101243@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24560&group=comp.lang.forth#24560

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Fri, 08 Sep 2023 08:12:43 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 40
Message-ID: <2023Sep8.101243@mips.complang.tuwien.ac.at>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at> <5399cc0e-2d82-486a-a189-34586e615bc7n@googlegroups.com>
Injection-Info: dont-email.me; posting-host="94d1b61d4d24ca29fa3ec14b726a2fea";
logging-data="3573902"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18W3MkizvGfhfqOwmv2XdYI"
Cancel-Lock: sha1:Qd8/IXbWRLeaJby0UXC1/dQdNxk=
X-newsreader: xrn 10.11
 by: Anton Ertl - Fri, 8 Sep 2023 08:12 UTC

minforth <minforth@arcor.de> writes:
>Static polymorphism is limited indeed. But sufficient for many applications.
>I wouldn't rule it out of the toolbox.

The programmers can do the static resolution themselves rather than
burdening the compiler with it. E.g., instead of having an overloaded
@, Forth has @ C@ 2@ F@. Similarly, for <: < U< D< DU< F<.

Standard Forth resolves overloading for TO: it works for VALUE,
2VALUE, and FVALUE. This is the target of repeated criticism of being
unforthy, but it has practical advantages.

The difference here is that words like @ and < receive their arguments
in the stack at run-time, without type information (in standard
Forth), so there is no way the system could resolve an overloaded @ or
<. By contrast, TO sees the name at compile time, and it can be
resolved at compile time using knowledge about the word it is used on.

>AFAIK C++ offers both: dynamic and static polymorphism.

Even C performs overloading resolution of built-in operators
(including < and unary *). C++ also allows user-defined overloading.
But both languages have static type information, which makes this
possible (and looking at the history of C, C added static type
information to B in order to deal with chars (bytes) and char pointers
when Thompson and Ritchie switched from the word-addressed PDP-7 to
the byte-addressed PDP-11).

Forth does not have this, and attempts to perform overloading
resolution in Forth have typically come out very messy, with
STATE-smartness and other atrocities everywhere. Now, after 40 years,
we know how to implement TO alone relatively cleanly, but as soon as
we add +TO and friends, it again becomes messy.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2023: https://euro.theforth.net/2023

Re: colorForth and Object Oriented Programming

<nnd$672f844f$48bbf89c@1bab0aa4539068ef>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24562&group=comp.lang.forth#24562

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at> <5399cc0e-2d82-486a-a189-34586e615bc7n@googlegroups.com> <2023Sep8.101243@mips.complang.tuwien.ac.at>
Subject: Re: colorForth and Object Oriented Programming
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$672f844f$48bbf89c@1bab0aa4539068ef>
Organization: KPN B.V.
Date: Fri, 08 Sep 2023 12:13:50 +0200
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp003.abavia.com!news.kpn.nl!not-for-mail
Lines: 29
Injection-Date: Fri, 08 Sep 2023 12:13:50 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 2082
 by: none - Fri, 8 Sep 2023 10:13 UTC

In article <2023Sep8.101243@mips.complang.tuwien.ac.at>,
Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
<SNIP>
>
>Forth does not have this, and attempts to perform overloading
>resolution in Forth have typically come out very messy, with
>STATE-smartness and other atrocities everywhere. Now, after 40 years,
>we know how to implement TO alone relatively cleanly, but as soon as
>we add +TO and friends, it again becomes messy.

I was not a great fan of it, but Marcel Hendrix succeeded in adding
a number of +TO FROM etc to the transputer Forth.
This applied to VALUEs DVALUEs FLOATs DFLOATs LOCALs DLOCALs alike
and I must admit they are practical.
Probably descendants of this are present in iforth.
I came to look at it as a message form of object orientation, and
documented it as such in the tForth documentation I wrote.
It contributed to the speed of tForth.

>
>- anton

Groetjes Albert
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Re: colorForth and Object Oriented Programming

<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24563&group=comp.lang.forth#24563

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:3711:b0:76c:d5e2:23b4 with SMTP id de17-20020a05620a371100b0076cd5e223b4mr72808qkb.11.1694198705921;
Fri, 08 Sep 2023 11:45:05 -0700 (PDT)
X-Received: by 2002:a05:6a00:1348:b0:68a:61fb:801c with SMTP id
k8-20020a056a00134800b0068a61fb801cmr1229448pfu.4.1694198705237; Fri, 08 Sep
2023 11:45:05 -0700 (PDT)
Path: rocksolid2!i2pn.org!news.1d4.us!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Fri, 8 Sep 2023 11:45:04 -0700 (PDT)
In-Reply-To: <2023Sep7.094035@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:c23:709a:200:d0ce:94fc:20e6:2e4a;
posting-account=o1zNBwoAAABP2KiH5g6nPQp_sYWidVdt
NNTP-Posting-Host: 2a01:c23:709a:200:d0ce:94fc:20e6:2e4a
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: howerdo@yahoo.co.uk (Howerd)
Injection-Date: Fri, 08 Sep 2023 18:45:05 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3747
 by: Howerd - Fri, 8 Sep 2023 18:45 UTC

On Thursday, September 7, 2023 at 9:48:30 AM UTC+2, Anton Ertl wrote:
> minforth <minf...@arcor.de> writes:
> >Dick Pountain once wrote a whole book about object-oriented Forth
> >by stacking several CREATE DOES (BUILDS) structures over
> >each other. I found it rather intriguing at that time, although
> >many OO purists rejected it.
> Not sure what an OO purist is.
>
> Anyway, I have read the book, and found it interesting at the time.
> But the more I learned about object-oriented programming, the more I
> found that Pountain mostly missed the point. The essential part of
> OOP is run-time polymorphism (dynamic binding). Most of the book does
> not deal with this feature at all; IIRC only the last chapter even
> concerns itself with this topic, and it does so in a clumsy and
> inefficient way. So this book has rightly been ignored by everyone
> who really implemented and used OOP in Forth.
>
> If you want to see how a minimalistic OOP package in Forth can look
> like, look at <https://bernd-paysan.de/mini-oof.html>.
>
> - anton
> --
> M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
> comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
> New standard: https://forth-standard.org/
> EuroForth 2023: https://euro.theforth.net/2023
Hi Anton,
You say "The essential part of OOP is run-time polymorphism", and I think you are right, in that what many ideas like OOP are trying to do is to get back some dynamic functionality, after it has been nailed down as static by one or other of the batch processing languages.
I find it interesting that the Udemy course that I just took (mainly so I could speak to my colleagues in the language they were using) does not mention run-time polymorphism, nor any sort of binding, run-time, compile time etc.
This confirms my theory that "Object Oriented Programming" is a marketing concept that can mean whatever you want it to mean ;-)

Cheers,
Howerd

Re: colorForth and Object Oriented Programming

<udgft2$3otf6$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24564&group=comp.lang.forth#24564

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxforth)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Sat, 9 Sep 2023 10:57:05 +1000
Organization: A noiseless patient Spider
Lines: 42
Message-ID: <udgft2$3otf6$1@dont-email.me>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com>
<7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
<c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
<51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
<2023Sep7.094035@mips.complang.tuwien.ac.at>
<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 9 Sep 2023 00:57:06 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="ec12f0d5cbef6c24896e1b1b0f7b986b";
logging-data="3962342"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/ROlIVKWDPEO8PyrCMFhTg"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:b2YrvAr1I/sPBxKZ1FlAMYNqVag=
In-Reply-To: <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
Content-Language: en-GB
 by: dxforth - Sat, 9 Sep 2023 00:57 UTC

On 9/09/2023 4:45 am, Howerd wrote:
> On Thursday, September 7, 2023 at 9:48:30 AM UTC+2, Anton Ertl wrote:
>> minforth <minf...@arcor.de> writes:
>>> Dick Pountain once wrote a whole book about object-oriented Forth
>>> by stacking several CREATE DOES (BUILDS) structures over
>>> each other. I found it rather intriguing at that time, although
>>> many OO purists rejected it.
>> Not sure what an OO purist is.
>>
>> Anyway, I have read the book, and found it interesting at the time.
>> But the more I learned about object-oriented programming, the more I
>> found that Pountain mostly missed the point. The essential part of
>> OOP is run-time polymorphism (dynamic binding). Most of the book does
>> not deal with this feature at all; IIRC only the last chapter even
>> concerns itself with this topic, and it does so in a clumsy and
>> inefficient way. So this book has rightly been ignored by everyone
>> who really implemented and used OOP in Forth.
>>
>> If you want to see how a minimalistic OOP package in Forth can look
>> like, look at <https://bernd-paysan.de/mini-oof.html>.
>>
>> - anton
>> --
>> M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
>> comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
>> New standard: https://forth-standard.org/
>> EuroForth 2023: https://euro.theforth.net/2023
> Hi Anton,
> You say "The essential part of OOP is run-time polymorphism", and I think you are right, in that what many ideas like OOP are trying to do is to get back some dynamic functionality, after it has been nailed down as static by one or other of the batch processing languages.
> I find it interesting that the Udemy course that I just took (mainly so I could speak to my colleagues in the language they were using) does not mention run-time polymorphism, nor any sort of binding, run-time, compile time etc.
> This confirms my theory that "Object Oriented Programming" is a marketing concept that can mean whatever you want it to mean ;-)

Motivations are everything. Pountain's motivation appears to have been
making Forth more popular:

"This book is about making Forth more generally useful than it already is;
it is an attempt to break out of the engineering and hardware development
ghetto in which Forth has so far prospered."

In short, he saw Forth in negative terms and believed it could do with a
face-lift. He may not be alone.

Re: colorForth and Object Oriented Programming

<2023Sep9.172947@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24566&group=comp.lang.forth#24566

  copy link   Newsgroups: comp.lang.forth
Path: rocksolid2!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Sat, 09 Sep 2023 15:29:47 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 67
Message-ID: <2023Sep9.172947@mips.complang.tuwien.ac.at>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at> <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
Injection-Info: dont-email.me; posting-host="9093e634fcc0060e2d3bec1061f87f5d";
logging-data="166025"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19QRpyv/+jMAdZ7hUkxAigT"
Cancel-Lock: sha1:rPZSPkq2rzaRZpaXzOYki3pNnpk=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sat, 9 Sep 2023 15:29 UTC

Howerd <howerdo@yahoo.co.uk> writes:
>You say "The essential part of OOP is run-time polymorphism", and I think y=
>ou are right, in that what many ideas like OOP are trying to do is to get b=
>ack some dynamic functionality, after it has been nailed down as static by =
>one or other of the batch processing languages.

I don't think so. Simula-67, C++, and Java embrace static
type-checking and the separation of compile time and run time. They
add dynamic dispatch not to get back something, but as a statically
safe way to attack problems whose existence is denied or treated as
irrelevant by those in clf who deny the value of OOP.

>I find it interesting that the Udemy course that I just took (mainly so I c=
>ould speak to my colleagues in the language they were using) does not menti=
>on run-time polymorphism, nor any sort of binding, run-time, compile time e=
>tc.
>This confirms my theory that "Object Oriented Programming" is a marketing c=
>oncept that can mean whatever you want it to mean ;-)

That's true of any popular term; Humpty Dumpty knew that. A few days
ago, I heard or read the story of an Evangelical Christian who reacted
to a story about Jesus read to her from the Holy Bible with something
along the lines that Jesus was far too left-wing.

Still we use terms with common meaning, not with Humpty Dumpty's
meaning. E.g., we look at Wikepdia what they mean.

Concerning OOP,
<https://en.wikipedia.org/wiki/Object-oriented_programming#Features>
lists a large number of features, but many of them tend to be not
universal. In the old times, I have seen definitions of
"object-oriented" that only listed three (in one case) or four (in
another definition) features that are necessary for an OO language. I
don't remember them all, but I think that classes, inheritance, and
garbage collection were listed.

* Prototype-based OO languages (e.g., Self, JavaScript) do without
classes.

* My collegue who teaches object-oriented programming recommends to
avoid inheritance, because inheritance often seduces the programmer
to violate Liskov's substitution principle.

* C++ does without garbage collection and the Wikipedia link above
does not list garbage collection.

While many OO languages have many features listed in Wikipedia as
features, maybe because they are useful for the goals of the
programming language, maybe because the languages that inspired the
new one have it (e.g., inheritance), the question a Forther may ask
themselves is: What is the essential feature. And my answer to that
is: dynamic dispatch.

An example is the Unix VFS (virtual file system) interface. When you
do, say, a read() system call, it is dynamically dispatched to the
actual file system of the file you are accessing. You can consider
the file system type as the class of the file system; there is no
inheritance, not even when a file system is actually derived from
another one (e.g. ext4 is derived from ext2). And there is no garbage
collection. And it's all written in C.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2023: https://euro.theforth.net/2023

Re: colorForth and Object Oriented Programming

<eec8dfed-8c45-4f0e-aace-17dade9c6f29n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24569&group=comp.lang.forth#24569

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:a05:620a:31a5:b0:76e:e858:3511 with SMTP id bi37-20020a05620a31a500b0076ee8583511mr136118qkb.6.1694287450913;
Sat, 09 Sep 2023 12:24:10 -0700 (PDT)
X-Received: by 2002:a05:6a00:150b:b0:68e:351c:bf00 with SMTP id
q11-20020a056a00150b00b0068e351cbf00mr2213121pfu.4.1694287449860; Sat, 09 Sep
2023 12:24:09 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.niel.me!glou.org!news.glou.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 9 Sep 2023 12:24:08 -0700 (PDT)
In-Reply-To: <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=50.39.124.112; posting-account=XHdMTgoAAACReO1z3jIvXOYsN-afDfHS
NNTP-Posting-Host: 50.39.124.112
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<c9d9a362-fb26-4a9d-a0a0-d43f04862bfan@googlegroups.com> <7b6bfe0d-d034-4cce-8ef6-e2f754b6bfecn@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at>
<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <eec8dfed-8c45-4f0e-aace-17dade9c6f29n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: ron@softwareengineeringllc.com (Ron Braithwaite)
Injection-Date: Sat, 09 Sep 2023 19:24:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Ron Braithwaite - Sat, 9 Sep 2023 19:24 UTC

On Friday, September 8, 2023 at 11:45:07 AM UTC-7, Howerd wrote:
> On Thursday, September 7, 2023 at 9:48:30 AM UTC+2, Anton Ertl wrote:
> > minforth <minf...@arcor.de> writes:
> > >Dick Pountain once wrote a whole book about object-oriented Forth
> > >by stacking several CREATE DOES (BUILDS) structures over
> > >each other. I found it rather intriguing at that time, although
> > >many OO purists rejected it.
> > Not sure what an OO purist is.
> >
> > Anyway, I have read the book, and found it interesting at the time.
> > But the more I learned about object-oriented programming, the more I
> > found that Pountain mostly missed the point. The essential part of
> > OOP is run-time polymorphism (dynamic binding). Most of the book does
> > not deal with this feature at all; IIRC only the last chapter even
> > concerns itself with this topic, and it does so in a clumsy and
> > inefficient way. So this book has rightly been ignored by everyone
> > who really implemented and used OOP in Forth.
> >
> > If you want to see how a minimalistic OOP package in Forth can look
> > like, look at <https://bernd-paysan.de/mini-oof.html>.
> >
> > - anton
> > --
> > M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
> > comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
> > New standard: https://forth-standard.org/
> > EuroForth 2023: https://euro.theforth.net/2023
> Hi Anton,
> You say "The essential part of OOP is run-time polymorphism", and I think you are right, in that what many ideas like OOP are trying to do is to get back some dynamic functionality, after it has been nailed down as static by one or other of the batch processing languages.
> I find it interesting that the Udemy course that I just took (mainly so I could speak to my colleagues in the language they were using) does not mention run-time polymorphism, nor any sort of binding, run-time, compile time etc.
> This confirms my theory that "Object Oriented Programming" is a marketing concept that can mean whatever you want it to mean ;-)
>
> Cheers,
> Howerd

I agree with the statement "The essential part of OOP is run-time polymorphism". I think there is definitely a use case in Forth for run-time polymorphism, but I also think it is kind of rare.

Years ago, the Whitewater Group developed a really cool proprietary language called Actor (along with some other great stuff) that had lots of great ideas that basically evolved Smalltalk up to the next level. One of those ideas was selectively being able to label functions as Static or Dynamic, which allowed the compiler to optimize. Unfortunately, the Whitewater Group was purchased by Borland for their Windows abstraction layer and they killed Actor.

I dropped out of the initial ANSI efforts in 1990 in order to go teach at the University of Zimbabwe, where one of the courses I taught was Object Oriented Programming with Actor. The Whitewater Group was kind enough to provide me with all sorts of materials and free licenses for students. It was really well received and when Borland dropped it, I contacted the Product Manager. She told me that Borland had decided to focus on C++ and had dropped Actor because it competed with it. Really sad.

So, back to Forth, I am all in favor of having Object Oriented extensions that I could plug into a “standard” Forth without having to rewrite them from scratch.

Back to lurk mode,
Ron Braithwaite

Re: colorForth and Object Oriented Programming

<udj8k3$94ap$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24570&group=comp.lang.forth#24570

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxf)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Sun, 10 Sep 2023 12:11:16 +1000
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <udj8k3$94ap$1@dont-email.me>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
<c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
<51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
<2023Sep7.094035@mips.complang.tuwien.ac.at>
<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
<2023Sep9.172947@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Sep 2023 02:11:16 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="0d78aaba1ba7ad6b9bbbe39bd5de34b7";
logging-data="299353"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19We6Z1WlcjEKpRoECLUBXJ"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Ol3h01GT//TXpGdKK65cvJCrZvI=
Content-Language: en-GB
In-Reply-To: <2023Sep9.172947@mips.complang.tuwien.ac.at>
 by: dxf - Sun, 10 Sep 2023 02:11 UTC

On 10/09/2023 1:29 am, Anton Ertl wrote:
> Howerd <howerdo@yahoo.co.uk> writes:
>> You say "The essential part of OOP is run-time polymorphism", and I think y=
>> ou are right, in that what many ideas like OOP are trying to do is to get b=
>> ack some dynamic functionality, after it has been nailed down as static by =
>> one or other of the batch processing languages.
>
> I don't think so. Simula-67, C++, and Java embrace static
> type-checking and the separation of compile time and run time. They
> add dynamic dispatch not to get back something, but as a statically
> safe way to attack problems whose existence is denied or treated as
> irrelevant by those in clf who deny the value of OOP.
>
>> I find it interesting that the Udemy course that I just took (mainly so I c=
>> ould speak to my colleagues in the language they were using) does not menti=
>> on run-time polymorphism, nor any sort of binding, run-time, compile time e=
>> tc.
>> This confirms my theory that "Object Oriented Programming" is a marketing c=
>> oncept that can mean whatever you want it to mean ;-)
>
> That's true of any popular term; Humpty Dumpty knew that. A few days
> ago, I heard or read the story of an Evangelical Christian who reacted
> to a story about Jesus read to her from the Holy Bible with something
> along the lines that Jesus was far too left-wing.
>
> Still we use terms with common meaning, not with Humpty Dumpty's
> meaning. E.g., we look at Wikepdia what they mean.

Wikipedia is more than common meaning. It has set itself up as authority.
The OOP page includes Leo Brodie's criticism from 'Thinking FORTH' (another
authority apparently). This was too much for one reader (see Talk page)
who took the view only criticism from 'recognized' authorities be used - if
at all.

Re: colorForth and Object Oriented Programming

<74056e16-93d3-4d6a-a0f9-51c88180ec68n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24571&group=comp.lang.forth#24571

  copy link   Newsgroups: comp.lang.forth
X-Received: by 2002:ad4:4f84:0:b0:655:afc1:e94c with SMTP id em4-20020ad44f84000000b00655afc1e94cmr135472qvb.11.1694313283671;
Sat, 09 Sep 2023 19:34:43 -0700 (PDT)
X-Received: by 2002:a17:903:41cf:b0:1bc:5182:1ddb with SMTP id
u15-20020a17090341cf00b001bc51821ddbmr2522912ple.3.1694313282851; Sat, 09 Sep
2023 19:34:42 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!3.eu.feeder.erje.net!feeder.erje.net!fdn.fr!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.forth
Date: Sat, 9 Sep 2023 19:34:42 -0700 (PDT)
In-Reply-To: <2023Sep9.172947@mips.complang.tuwien.ac.at>
Injection-Info: google-groups.googlegroups.com; posting-host=2a01:c22:b4d8:6900:a88b:e51d:f75b:6296;
posting-account=o1zNBwoAAABP2KiH5g6nPQp_sYWidVdt
NNTP-Posting-Host: 2a01:c22:b4d8:6900:a88b:e51d:f75b:6296
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at>
<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com> <2023Sep9.172947@mips.complang.tuwien.ac.at>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <74056e16-93d3-4d6a-a0f9-51c88180ec68n@googlegroups.com>
Subject: Re: colorForth and Object Oriented Programming
From: howerdo@yahoo.co.uk (Howerd)
Injection-Date: Sun, 10 Sep 2023 02:34:43 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Howerd - Sun, 10 Sep 2023 02:34 UTC

On Saturday, September 9, 2023 at 6:33:32 PM UTC+2, Anton Ertl wrote:
> Howerd <how...@yahoo.co.uk> writes:
> >You say "The essential part of OOP is run-time polymorphism", and I think y=
> >ou are right, in that what many ideas like OOP are trying to do is to get b=
> >ack some dynamic functionality, after it has been nailed down as static by > >one or other of the batch processing languages.
> I don't think so. Simula-67, C++, and Java embrace static
> type-checking and the separation of compile time and run time. They
> add dynamic dispatch not to get back something, but as a statically
> safe way to attack problems whose existence is denied or treated as
> irrelevant by those in clf who deny the value of OOP.
>
> >I find it interesting that the Udemy course that I just took (mainly so I c=
> >ould speak to my colleagues in the language they were using) does not menti=
> >on run-time polymorphism, nor any sort of binding, run-time, compile time e=
> >tc.
> >This confirms my theory that "Object Oriented Programming" is a marketing c> >oncept that can mean whatever you want it to mean ;-)
> That's true of any popular term; Humpty Dumpty knew that. A few days
> ago, I heard or read the story of an Evangelical Christian who reacted
> to a story about Jesus read to her from the Holy Bible with something
> along the lines that Jesus was far too left-wing.
>
> Still we use terms with common meaning, not with Humpty Dumpty's
> meaning. E.g., we look at Wikepdia what they mean.
>
> Concerning OOP,
> <https://en.wikipedia.org/wiki/Object-oriented_programming#Features>
> lists a large number of features, but many of them tend to be not
> universal. In the old times, I have seen definitions of
> "object-oriented" that only listed three (in one case) or four (in
> another definition) features that are necessary for an OO language. I
> don't remember them all, but I think that classes, inheritance, and
> garbage collection were listed.
>
> * Prototype-based OO languages (e.g., Self, JavaScript) do without
> classes.
>
> * My collegue who teaches object-oriented programming recommends to
> avoid inheritance, because inheritance often seduces the programmer
> to violate Liskov's substitution principle.
>
> * C++ does without garbage collection and the Wikipedia link above
> does not list garbage collection.
>
> While many OO languages have many features listed in Wikipedia as
> features, maybe because they are useful for the goals of the
> programming language, maybe because the languages that inspired the
> new one have it (e.g., inheritance), the question a Forther may ask
> themselves is: What is the essential feature. And my answer to that
> is: dynamic dispatch.
>
> An example is the Unix VFS (virtual file system) interface. When you
> do, say, a read() system call, it is dynamically dispatched to the
> actual file system of the file you are accessing. You can consider
> the file system type as the class of the file system; there is no
> inheritance, not even when a file system is actually derived from
> another one (e.g. ext4 is derived from ext2). And there is no garbage
> collection. And it's all written in C.
> - anton
> --
> M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
> comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
> New standard: https://forth-standard.org/
> EuroForth 2023: https://euro.theforth.net/2023
Hi Anton,

An excellent summary. Has anyone compiled a list of the way OO Languages use and define OO?
It would be good to see the features and requirements listed for the popular OO languages, all on one page...

BR
Howerd

Re: colorForth and Object Oriented Programming

<udjcn5$does$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24572&group=comp.lang.forth#24572

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: dxforth@gmail.com (dxf)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Sun, 10 Sep 2023 13:21:09 +1000
Organization: A noiseless patient Spider
Lines: 10
Message-ID: <udjcn5$does$1@dont-email.me>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com>
<9ca427ba-eb13-4130-b167-bd041728139bn@googlegroups.com>
<c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com>
<abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com>
<51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com>
<50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com>
<2023Sep7.094035@mips.complang.tuwien.ac.at>
<7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com>
<2023Sep9.172947@mips.complang.tuwien.ac.at>
<74056e16-93d3-4d6a-a0f9-51c88180ec68n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
Injection-Date: Sun, 10 Sep 2023 03:21:09 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="0d78aaba1ba7ad6b9bbbe39bd5de34b7";
logging-data="451036"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/99pWyO8dapbojYfhbSzOs"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:7Hqc7OAty3egMqv5PKSXavV6Bro=
In-Reply-To: <74056e16-93d3-4d6a-a0f9-51c88180ec68n@googlegroups.com>
Content-Language: en-GB
 by: dxf - Sun, 10 Sep 2023 03:21 UTC

On 10/09/2023 12:34 pm, Howerd wrote:
>
> An excellent summary. Has anyone compiled a list of the way OO Languages use and define OO?
> It would be good to see the features and requirements listed for the popular OO languages, all on one page...

A run-down of Forth implementations from 1996:

https://www.bradrodriguez.com/papers/oofs.htm

Re: colorForth and Object Oriented Programming

<2023Sep10.113657@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24573&group=comp.lang.forth#24573

  copy link   Newsgroups: comp.lang.forth
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
Date: Sun, 10 Sep 2023 09:36:57 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 17
Message-ID: <2023Sep10.113657@mips.complang.tuwien.ac.at>
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <c31d05e4-dbd0-45aa-a2f4-c66b77a4d72fn@googlegroups.com> <abe90bdf-e390-4a15-85d9-8218eeda4569n@googlegroups.com> <51560991-9547-45ba-bccc-6c87489e119an@googlegroups.com> <50d59e0f-c2bb-4d13-9062-fae74a9a348fn@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at> <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com> <2023Sep9.172947@mips.complang.tuwien.ac.at> <74056e16-93d3-4d6a-a0f9-51c88180ec68n@googlegroups.com>
Injection-Info: dont-email.me; posting-host="869e9938d8b06cc8ebdabb29936f3acb";
logging-data="569690"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+khGaD1LMCqb7DoM/xCzIG"
Cancel-Lock: sha1:+B5hmV0vpCluXS/PCn4I57ZrITQ=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sun, 10 Sep 2023 09:36 UTC

Howerd <howerdo@yahoo.co.uk> writes:
>An excellent summary. Has anyone compiled a list of the way OO Languages us=
>e and define OO?

Yes, a checkbox table might have been helpful to support (or
undermine) my claim that dynamic dispatch is essential, but
<https://en.wikipedia.org/wiki/Comparison_of_programming_languages_(object-oriented_programming)>
shows the various syntaxes that the different languages use for the
features. OTOH, showing the syntax probably allows a more
differentiated view than a yes/no checkbox.

- anton
--
M. Anton Ertl http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
New standard: https://forth-standard.org/
EuroForth 2023: https://euro.theforth.net/2023

Re: colorForth and Object Oriented Programming

<nnd$6a4f92d9$6c366102@ee775c5e48d52175>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=24574&group=comp.lang.forth#24574

  copy link   Newsgroups: comp.lang.forth
Newsgroups: comp.lang.forth
Subject: Re: colorForth and Object Oriented Programming
References: <77b3dec6-405d-4c5a-8b62-350da1bebc5en@googlegroups.com> <2023Sep7.094035@mips.complang.tuwien.ac.at> <7a25ab75-5d7f-47b5-b5e3-15778261a042n@googlegroups.com> <eec8dfed-8c45-4f0e-aace-17dade9c6f29n@googlegroups.com>
X-Newsreader: trn 4.0-test77 (Sep 1, 2010)
From: albert@cherry (none)
Originator: albert@cherry.(none) (albert)
Message-ID: <nnd$6a4f92d9$6c366102@ee775c5e48d52175>
Organization: KPN B.V.
Date: Sun, 10 Sep 2023 11:53:34 +0200
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!feeder1.feed.usenet.farm!feed.usenet.farm!peer03.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!feed.abavia.com!abe004.abavia.com!abp002.abavia.com!news.kpn.nl!not-for-mail
Lines: 46
Injection-Date: Sun, 10 Sep 2023 11:53:34 +0200
Injection-Info: news.kpn.nl; mail-complaints-to="abuse@kpn.com"
X-Received-Bytes: 2759
 by: none - Sun, 10 Sep 2023 09:53 UTC

In article <eec8dfed-8c45-4f0e-aace-17dade9c6f29n@googlegroups.com>,
Ron Braithwaite <ron@softwareengineeringllc.com> wrote:
<SNIP>

>I agree with the statement "The essential part of OOP is run-time
>polymorphism". I think there is definitely a use case in Forth for
>run-time polymorphism, but I also think it is kind of rare.

I take a practical stand, and don't want argue principles too much.
But what to think of my specification of my QSORT

8 \ Sort the range FIRST to LAST (inclusive) of item compared
9 \ by the xt COMPARING and exchanged by the xt EXHANGING.
10 \ The xt's are filled in into *< and *<--> and must observe the
11 \ interface. All indices be compatible with these xt's.
12 \ After the call we have that :
13 \ ``For FIRST<=I<J<=LAST I J *< EXECUTE leaves TRUE.''

This restricts the items to be sorted in no way.
If this count as polymorphism, I don't think is rare.
(My MERGESORT is also general, but based on the existance of link
fields.)

>
>Years ago, the Whitewater Group developed a really cool proprietary
>language called Actor (along with some other great stuff) that had lots of
>great ideas that basically evolved Smalltalk up to the next level. One of
>those ideas was selectively being able to label functions as Static or
>Dynamic, which allowed the compiler to optimize. Unfortunately, the
>Whitewater Group was purchased by Borland for their Windows abstraction
>layer and they killed Actor.

They destroyed the code base? That is bad.
This strive for monopoly instead of competition make the Western
economy loose compared to China.

<SNIP>
>
>Back to lurk mode,
>Ron Braithwaite
--
Don't praise the day before the evening. One swallow doesn't make spring.
You must not say "hey" before you have crossed the bridge. Don't sell the
hide of the bear until you shot it. Better one bird in the hand than ten in
the air. First gain is a cat spinning. - the Wise from Antrim -

Pages:12
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor