Liste des Groupes | Revenir à cl forth |
On 27-04-2025 14:02, albert@spenarnc.xs4all.nl wrote:In article <nnd$63e5382c$3fdcafbf@3f3b7214bd28514c>,>
Hans Bezemer <the.beez.speaks@gmail.com> wrote:On 27-04-2025 08:21, dxf wrote:>On 26/04/2025 9:07 pm, albert@spenarnc.xs4all.nl wrote:>In article <b73cd7a7ab393f51bfaa18a9171086732bcc0bdf@i2pn2.org>,>
dxf <dxforth@gmail.com> wrote:On 26/04/2025 2:34 am, Hans Bezemer wrote:>...>
Yeah, I have helped to make a proposal for PLACE and +PLACE - which never even made it to the voting stage.
It's a nice symmetry. OTOH the remaining vendors use APPEND and why should they change?
>
$+! was even earlier. It predates the IBM PC XT.
(Osborne, CP/M)
Even PLACE was new back then!
>
String stacks often had $+ or equiv. Somehow I never took to them.
Not enough applications that warranted the effort?
Let's face it - the string support was notoriously bad in Forth. People
openly complained about that.
You must get rid of two ideas that are in the basic/lisp/c world.
>
1. You don't need dynamic strings. Just keep track of where you left them.
[ If you really need them, don't do circular buffer or string stacks.
Interface to the memory wordset (ALLOCATE c.s). ]
>
2. Zero ended strings is a stupid 60's c-cludge. Copying that into Forth is
beyond .. . They can't accomodate zero byte in strings, They cannot
accomodate multiple byte characters.
>
If you fetch a string, you have a "c-addr count". Forth can have 2 items
on the stack you know.
>
So In my CP/M day I get by with $! $@ $+! and $C+! .
I made a program playing a text adventure game with that.
>
Groetjes Albert
>
>
>>
Hans Bezemer
>
-- 2. Zero ended strings is a stupid 60's c-cludge. Copying that into
Forth is beyond .. . They can't accomodate zero byte in strings, They
cannot accomodate multiple byte characters.
>
Well, the "club" has killed that one, so it bears no longer any
significance. FYI: I was not in favor of this proposition, it reeked
extremely Forth-83:
>
"Since then, in 2016 the Forth-200x committee in favour of eliminating
ambiguous conditions has decided to require “1 CHARS = 1” thus making
systems that have other character sizes than on not compliant to
_future_ Forth-200x standards [2][3]. Requesting standard systems to
have byte size characters limit counted strings to the known maximal
length of 255 characters."
>--
Hans Bezemer
>
Les messages affichés proviennent d'usenet.