Gerry Jackson wrote:
> On 30/11/2011 16:55, Hans Bezemer wrote:
>> Well, I particularly don't like HERE in user programs. When used in
>> compiler words, ok, but not in my main program if I can avoid it.
>
> That seems strange to me, but each to his own.
It is not that strange given that Chuck said one of the reasons that he
didn't like ANS Forth and particularly the CORE wordset was it carried too
many words that a "normal" applications programmer should never use (like
DOES>, HERE, etc). I tend to agree with him, so I try to hide all the dirty
internal bits in a layer that doesn't concern me when I'm getting down to
the problem. Even better, I tend not to use it at all if it doesn't help me
VERY much later on.
> Or rather what it would do on some Forths if they accepted it. Clarity
> is largely a matter of opinion and familiarity with a language and its
> idioms as well as layout. After all a line like
> create .range ' .range0 , ' .range1 , ' .range2 ,
> is incomprehensible to most of the world's programmers. I find my
> version just as clear. Use of unfamiliar non-standard words, like C@+
> which you seem to favour below, do not lead to clarity.
We're talking about two different things here. I'm talking of a syntax that
would IMHO better express what I'm trying to do than the standard way. I'm
assuming one can read Forth, but that was (I think) obvious straight on,
otherwise this discussion would be just as futile as when I was responding
in Dutch.
>> In your version the connection between this unnamed pointer array and the
>> following definition is unclear. PASS is non-standard,
> On the contrary it *is* standard ANS Forth, unlike your code.
Never saw it in the standard (leafing) Nope, it's not there.
> Too lazy to work it out? It's simple enough.
That's my point: if it's obvious I don't have to work it out. If it's not
obvious any kind of error is just around the corner.
> > The whole thing is quite fuzzy IMHO. Again IMHO, this kind of coding
>> is what gives Forth a bad name, a "write only" language.
> IMHO ???
Im my humble opinion.
> I don't disagree, but it is non-standard at present and therefore not
> portable. That is fine if you're not interested in portability but
> useless to those who are. If you feel that strongly about it raise an
> RfD to get the standard changed.
True, I'm not denying that. Never did. That's why I posed the question in
the first place. That's what I'm trying to test: is there room for an RfD
or can I better spend my time on something else.
> To me that is unnecessarily pedantic and rather silly.
To me it is rather silly to use COUNT for anything less than to get the
length of a string. That's the beauty of an opinion: everyone can have one.
> What has that got to do with this discussion? C@+ isn't a standard word,
> why should someone use it just because you prefer it.
Sorry, I tend to get carried away. What I *originally* was trying to do is
to illustrate why I think DOES> in interpretation mode is a cool idea.
Again, sorry I got lost ;-)
Hans Bezemer