• bug in VFX

    From Hugh Aguilar@21:1/5 to All on Wed Jan 18 19:34:11 2023
    I posted this already: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE
    I had a typo in the header though and said: "Bugs in SwiftForth."
    Stephen Pelc's excuse for not responding is most likely that
    he didn't think the thread had anything to do with VFX.

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    I think that Stephen Pelc purposely introduced this bug into VFX
    to break my novice-package. I'm the only person who uses LIT,
    etc. --- everybody else just says POSTPONE LITERAL etc. when
    hand-writing macros.

    I don't actually need to hand-write macros anymore because I now
    have an early-binding MACRO: definer that (unlike Anton Ertl's macro)
    supports literal numbers as well as immediate words such as
    [CHAR] C" S" POSTPONE etc. that remove data from the input stream.

    I think Stephen Pelc introduced this bug into VFX to break my
    novice-package, because he knew that I would be blamed when the
    novice-package fails. Even if he fixes this bug in VFX, he will then just introduce another more subtle bug into VFX to break something
    else in the novice-package. I might not notice this sabotage without
    doing a complete test of the entire novice-package every time that
    a new VFX version is released. He has to be careful though, because
    he might accidentally break somebody else's legacy VFX code and
    that person will blame him because the legacy program never changed
    and suddenly it stops working when recompiled with the new VFX version.

    So, if your legacy VFX programs fail under the new VFX version,
    you are most likely collateral damage in Stephen Pelc's effort to
    prove that I'm an incompetent Forth programmer. Be careful to stay
    on Stephen Pelc's good side, or he will purposely break your legacy
    programs and not tell you how to work around the VFX bug.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to hughag...@gmail.com on Wed Jan 18 22:51:55 2023
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    I posted this already: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE
    I had a typo in the header though and said: "Bugs in SwiftForth."
    Stephen Pelc's excuse for not responding is most likely that
    he didn't think the thread had anything to do with VFX.

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    I think that Stephen Pelc purposely introduced this bug into VFX
    to break my novice-package. I'm the only person who uses LIT,
    etc. --- everybody else just says POSTPONE LITERAL etc. when
    hand-writing macros.

    I don't actually need to hand-write macros anymore because I now
    have an early-binding MACRO: definer that (unlike Anton Ertl's macro) supports literal numbers as well as immediate words such as
    [CHAR] C" S" POSTPONE etc. that remove data from the input stream.

    I think Stephen Pelc introduced this bug into VFX to break my
    novice-package, because he knew that I would be blamed when the novice-package fails. Even if he fixes this bug in VFX, he will then just introduce another more subtle bug into VFX to break something
    else in the novice-package. I might not notice this sabotage without
    doing a complete test of the entire novice-package every time that
    a new VFX version is released. He has to be careful though, because
    he might accidentally break somebody else's legacy VFX code and
    that person will blame him because the legacy program never changed
    and suddenly it stops working when recompiled with the new VFX version.

    So, if your legacy VFX programs fail under the new VFX version,
    you are most likely collateral damage in Stephen Pelc's effort to
    prove that I'm an incompetent Forth programmer. Be careful to stay
    on Stephen Pelc's good side, or he will purposely break your legacy
    programs and not tell you how to work around the VFX bug.

    It might be a valid question to find out who uses this
    novice-package
    I wonder.

    ALL NOVICE PACKAGE USERS please comment.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Jurgen Pitaske on Wed Jan 18 23:20:07 2023
    On Thursday, 19 January 2023 at 06:51:57 UTC, Jurgen Pitaske wrote:
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    I posted this already: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE
    I had a typo in the header though and said: "Bugs in SwiftForth."
    Stephen Pelc's excuse for not responding is most likely that
    he didn't think the thread had anything to do with VFX.

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    I think that Stephen Pelc purposely introduced this bug into VFX
    to break my novice-package. I'm the only person who uses LIT,
    etc. --- everybody else just says POSTPONE LITERAL etc. when
    hand-writing macros.

    I don't actually need to hand-write macros anymore because I now
    have an early-binding MACRO: definer that (unlike Anton Ertl's macro) supports literal numbers as well as immediate words such as
    [CHAR] C" S" POSTPONE etc. that remove data from the input stream.

    I think Stephen Pelc introduced this bug into VFX to break my novice-package, because he knew that I would be blamed when the novice-package fails. Even if he fixes this bug in VFX, he will then just introduce another more subtle bug into VFX to break something
    else in the novice-package. I might not notice this sabotage without
    doing a complete test of the entire novice-package every time that
    a new VFX version is released. He has to be careful though, because
    he might accidentally break somebody else's legacy VFX code and
    that person will blame him because the legacy program never changed
    and suddenly it stops working when recompiled with the new VFX version.

    So, if your legacy VFX programs fail under the new VFX version,
    you are most likely collateral damage in Stephen Pelc's effort to
    prove that I'm an incompetent Forth programmer. Be careful to stay
    on Stephen Pelc's good side, or he will purposely break your legacy programs and not tell you how to work around the VFX bug.
    It might be a valid question to find out who uses this
    novice-package
    I wonder.

    ALL NOVICE PACKAGE USERS please comment.

    and according to the other thread mentioned,
    we might be talking about a non-problem anyway:

    Can I suggest the following change :
    : lit, ( val -- ) \ runtime: -- val
    align postpone literal ;

    Does this fix the problem Hugh ?

    That seems to fix the problem.
    This explains why MAYBE sometimes works and sometimes doesn't.
    The code in LIT, is sometimes aligned and sometimes not. although
    that is weird too --- I would expect the code in the word created by MAYBE
    to always be aligned on a paragraph boundary to reduce cache-thrashing.

    I haven't actually taken the time to use SEE to look at the code generated, or to look at the code in the compiler that generates this code.
    It is not really my job to debug VFX for Stephen Pelc.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jach Feng@21:1/5 to All on Wed Jan 18 23:32:44 2023
    jpit...@gmail.com 在 2023年1月19日 星期四下午2:51:57 [UTC+8] 的信中寫道:
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    I posted this already: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE
    I had a typo in the header though and said: "Bugs in SwiftForth."
    Stephen Pelc's excuse for not responding is most likely that
    he didn't think the thread had anything to do with VFX.

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    I think that Stephen Pelc purposely introduced this bug into VFX
    to break my novice-package. I'm the only person who uses LIT,
    etc. --- everybody else just says POSTPONE LITERAL etc. when
    hand-writing macros.

    I don't actually need to hand-write macros anymore because I now
    have an early-binding MACRO: definer that (unlike Anton Ertl's macro) supports literal numbers as well as immediate words such as
    [CHAR] C" S" POSTPONE etc. that remove data from the input stream.

    I think Stephen Pelc introduced this bug into VFX to break my novice-package, because he knew that I would be blamed when the novice-package fails. Even if he fixes this bug in VFX, he will then just introduce another more subtle bug into VFX to break something
    else in the novice-package. I might not notice this sabotage without
    doing a complete test of the entire novice-package every time that
    a new VFX version is released. He has to be careful though, because
    he might accidentally break somebody else's legacy VFX code and
    that person will blame him because the legacy program never changed
    and suddenly it stops working when recompiled with the new VFX version.

    So, if your legacy VFX programs fail under the new VFX version,
    you are most likely collateral damage in Stephen Pelc's effort to
    prove that I'm an incompetent Forth programmer. Be careful to stay
    on Stephen Pelc's good side, or he will purposely break your legacy programs and not tell you how to work around the VFX bug.
    It might be a valid question to find out who uses this
    novice-package
    I wonder.

    ALL NOVICE PACKAGE USERS please comment.
    I had borrowed some codes ( include the Lit, :-) from Hugh's novice package to create a sturct data type in SwiftForth to interface the C library many years ago. I'm still using it today.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Jach Feng on Thu Jan 19 09:41:58 2023
    On Thursday, 19 January 2023 at 07:32:46 UTC, Jach Feng wrote:
    jpit...@gmail.com 在 2023年1月19日 星期四下午2:51:57 [UTC+8] 的信中寫道:
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    I posted this already: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE
    I had a typo in the header though and said: "Bugs in SwiftForth." Stephen Pelc's excuse for not responding is most likely that
    he didn't think the thread had anything to do with VFX.

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    I think that Stephen Pelc purposely introduced this bug into VFX
    to break my novice-package. I'm the only person who uses LIT,
    etc. --- everybody else just says POSTPONE LITERAL etc. when hand-writing macros.

    I don't actually need to hand-write macros anymore because I now
    have an early-binding MACRO: definer that (unlike Anton Ertl's macro) supports literal numbers as well as immediate words such as
    [CHAR] C" S" POSTPONE etc. that remove data from the input stream.

    I think Stephen Pelc introduced this bug into VFX to break my novice-package, because he knew that I would be blamed when the novice-package fails. Even if he fixes this bug in VFX, he will then just
    introduce another more subtle bug into VFX to break something
    else in the novice-package. I might not notice this sabotage without doing a complete test of the entire novice-package every time that
    a new VFX version is released. He has to be careful though, because
    he might accidentally break somebody else's legacy VFX code and
    that person will blame him because the legacy program never changed
    and suddenly it stops working when recompiled with the new VFX version.

    So, if your legacy VFX programs fail under the new VFX version,
    you are most likely collateral damage in Stephen Pelc's effort to
    prove that I'm an incompetent Forth programmer. Be careful to stay
    on Stephen Pelc's good side, or he will purposely break your legacy programs and not tell you how to work around the VFX bug.
    It might be a valid question to find out who uses this
    novice-package
    I wonder.

    ALL NOVICE PACKAGE USERS please comment.

    I had borrowed some codes ( include the Lit, :-) from Hugh's novice package
    to create a sturct data type in SwiftForth
    to interface the C library many years ago.
    I'm still using it today.

    So, are your products/ designs / projects now stopped
    as MPE has brought out an improved version of VFX.

    I assume you could use the old VFX version anyway?

    And as you state you use it with Swiftforth it does not matter anyway.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to jpit...@gmail.com on Sat Jan 28 14:29:30 2023
    On Thursday, January 19, 2023 at 10:42:00 AM UTC-7, jpit...@gmail.com wrote:
    On Thursday, 19 January 2023 at 07:32:46 UTC, Jach Feng wrote:
    I had borrowed some codes ( include the Lit, :-) from Hugh's novice package
    to create a sturct data type in SwiftForth
    to interface the C library many years ago.
    I'm still using it today.
    So, are your products/ designs / projects now stopped
    as MPE has brought out an improved version of VFX.

    I assume you could use the old VFX version anyway?

    And as you state you use it with Swiftforth it does not matter anyway.

    Any use of VFX is stopped now because Stephen Pelc can't be trusted to maintain ANS-Forth compatibility. He purposely introduces a bug in LIT, to break my novice package, but he risks breaking other people's ANS-Forth code too.

    As I said above, Stephen Pelc has been caught introducing this LIT, bug, so he may fix it,
    but then introduce a more subtle bug to break my novice package that I wouldn't catch immediately --- of course, the risk for him is that he breaks somebody else's code too.

    On Friday, January 13, 2023 at 2:58:53 AM UTC-7, Kerr-Mudd, John wrote:
    On Thu, 12 Jan 2023 20:21:21 -0800 (PST)
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I still think that Stephen Pelc introduced the bug for the purpose of breaking my novice package. Stephen Pelc hates me because I wrote
    []
    And it took that long.

    I wrote an MSP-430 assembler. It is documented here: https://board.flatassembler.net/topic.php?t=21841
    Most likely, Stephen Pelc became aware of this, and he felt that I was intruding
    upon his claimed territory (he sells an MSP-430 development system),
    so that is why he introduced the LIT, bug to break my novice-package and stop me from continuing with MSP-430 work --- he wants any user of my MSP-430 assembler to find that it crashes, and of course to blame me for this on the assumption that I don't test my software before distributing it.

    I don't necessarily download the latest and greatest version of VFX immediately upon the its release. I'm not even aware of a new version being released because
    I just continue using the version that I've got --- so I don't know that Stephen Pelc
    has pulled the rug out from under my feet with his new version --- users of my novice package may have the new version and not know that there is a new bug that wasn't in the old version and which I wasn't aware of.

    --
    Bah, and indeed Humbug.

    Kerr-Mudd, John --- your tagline effectively declares you to be a troll.
    You never make any contribution to comp.lang.forth except to scoff at
    other people's contributions, denouncing them as humbugs.

    P.S. to Jach Feng --- if you want a new version of the novice package with the LIT,
    bug fixed (using NN's suggested fix), drop me a line and I will send it to you. Also, if you are doing anything with the MSP-430 I can send you my assembler too.
    I'm also in the process of writing an STM8 assembler, but it is not finished.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to hughag...@gmail.com on Sat Jan 28 23:48:58 2023
    On Saturday, 28 January 2023 at 22:29:32 UTC, hughag...@gmail.com wrote:
    On Thursday, January 19, 2023 at 10:42:00 AM UTC-7, jpit...@gmail.com wrote:
    On Thursday, 19 January 2023 at 07:32:46 UTC, Jach Feng wrote:
    I had borrowed some codes ( include the Lit, :-) from Hugh's novice package
    to create a sturct data type in SwiftForth
    to interface the C library many years ago.
    I'm still using it today.
    So, are your products/ designs / projects now stopped
    as MPE has brought out an improved version of VFX.

    I assume you could use the old VFX version anyway?

    And as you state you use it with Swiftforth it does not matter anyway.
    Any use of VFX is stopped now because Stephen Pelc can't be trusted to maintain
    ANS-Forth compatibility. He purposely introduces a bug in LIT, to break my novice package, but he risks breaking other people's ANS-Forth code too.

    As I said above, Stephen Pelc has been caught introducing this LIT, bug, so he may fix it,
    but then introduce a more subtle bug to break my novice package that I wouldn't
    catch immediately --- of course, the risk for him is that he breaks somebody else's code too.

    On Friday, January 13, 2023 at 2:58:53 AM UTC-7, Kerr-Mudd, John wrote:
    On Thu, 12 Jan 2023 20:21:21 -0800 (PST)
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I still think that Stephen Pelc introduced the bug for the purpose of breaking my novice package. Stephen Pelc hates me because I wrote
    []
    And it took that long.

    I wrote an MSP-430 assembler. It is documented here: https://board.flatassembler.net/topic.php?t=21841
    Most likely, Stephen Pelc became aware of this, and he felt that I was intruding
    upon his claimed territory (he sells an MSP-430 development system),
    so that is why he introduced the LIT, bug to break my novice-package and stop me from continuing with MSP-430 work --- he wants any user of my MSP-430 assembler to find that it crashes, and of course to blame me for this on the assumption that I don't test my software before distributing it.

    I don't necessarily download the latest and greatest version of VFX immediately
    upon the its release. I'm not even aware of a new version being released because
    I just continue using the version that I've got --- so I don't know that Stephen Pelc
    has pulled the rug out from under my feet with his new version --- users of my
    novice package may have the new version and not know that there is a new bug that wasn't in the old version and which I wasn't aware of.

    --
    Bah, and indeed Humbug.

    Kerr-Mudd, John --- your tagline effectively declares you to be a troll.
    You never make any contribution to comp.lang.forth except to scoff at
    other people's contributions, denouncing them as humbugs.

    P.S. to Jach Feng --- if you want a new version of the novice package with the LIT,
    bug fixed (using NN's suggested fix), drop me a line and I will send it to you.
    Also, if you are doing anything with the MSP-430 I can send you my assembler too.
    I'm also in the process of writing an STM8 assembler, but it is not finished.

    Could you please stop attacking commercial Forth companies.
    People are just laughing about your troll behaviour.
    And as you can see, nobody else is interested anyway.
    If there is an issue, people will probably discuss it with MPE directly,
    as they can then get into details to find a solution quickly.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to hughag...@gmail.com on Sun Jan 29 07:16:39 2023
    On Saturday, January 28, 2023 at 11:29:32 PM UTC+1, hughag...@gmail.com wrote:
    Any use of VFX is stopped now because Stephen Pelc can't be trusted to maintain
    ANS-Forth compatibility. He purposely introduces a bug in LIT, to break my novice package, but he risks breaking other people's ANS-Forth code too.
    Ok - THINK! Because he can introduce bugs in other peoples code too, do you think this
    is clever behavior for a vendor? Somebody whose livelihood literally DEPENDS on people
    buying his product?

    And if he WOULD BE, why not simply change compiler? If I would suspect myself sabotaging
    my code, would the most logical behavior not be to stop using 4tH?

    And again - there are plenty of very good Forth compilers. Even non-commercial ones, like
    CIForth or Lina or iForth. These Dutchies may be walking around in cloggies and may have been
    hit by a wing of a windmill once or twice while going outside, but they write some mean
    compilers.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to jpit...@gmail.com on Fri Feb 3 10:54:47 2023
    On Sunday, January 29, 2023 at 12:49:00 AM UTC-7, jpit...@gmail.com wrote:
    Could you please stop attacking commercial Forth companies.
    People are just laughing about your troll behaviour.
    And as you can see, nobody else is interested anyway.
    If there is an issue, people will probably discuss it with MPE directly,
    as they can then get into details to find a solution quickly.

    What Juergen Pintaske is saying, is that when VFX users discover bugs
    in VFX, they need to contact Stephen Pelc directly at MPE, rather than
    post these bug reports on comp.lang.forth. If Stephen Pelc considers
    these VFX users to be worthy, then he will provide them with a bug fix.
    He will expect them to not post these VFX bug fixes on comp.lang.forth.

    If Stephen Pelc does not consider you to be worthy, he will not provide you with a bug fix, but he will leave you to struggle alone at debugging VFX to
    get your VFX code running again. Good luck with that! It is difficult enough
    to debug your own code, but much more difficult if the compiler has bugs too.

    Why would Stephen Pelc consider you to be unworthy of getting a VFX bug fix? One obvious reason, is that you are still using the evaluation version of VFX and haven't yet paid him for the professional version.
    Mostly though, I think that Stephen Pelc is opposed to anybody using VFX
    to compete against MPE. He most likely knows that I wrote an MSP-430
    assembler. He wants his customers to buy his MSP-430 cross-compiler ($$$),
    and he doesn't want anybody to use my free MSP-430 assembler on VFX instead.

    Another reason that Stephen Pelc may consider VFX users to be unworthy
    of receiving VFX bug fixes, is that they are refusing to provide him with the source-code for their VFX programs. He needs source-code!

    I have noticed that there is a lot of interest on comp.lang.forth in disassembly
    and/or decompiling of Forth programs. This is an example: https://groups.google.com/g/comp.lang.forth/c/OJkqt9wwXc0
    This is another example: https://groups.google.com/g/comp.lang.forth/c/6unZAh_D0jA/m/zQNf_04FAAAJ Obviously, the reason why the comp.lang.forth experts need to disassemble and/or decompile Forth programs, is that they don't have the source-code. Obviously, the reason that they don't have the source-code is that the programmer
    who wrote the source-code doesn't want them to steal his intellectual property.

    I don't provide source-code unless I have some reason to believe that the person will
    make a positive contribution, rather than steal my code and claim that he wrote it.
    I posted documentation for my MSP-430 assembler (HJA430) here: https://board.flatassembler.net/topic.php?t=21841
    I did not provide source-code. There is a guy on that forum called Revolution who
    is very focused on obtaining source-code from real programmers. He wants me to give him my source-code so that I can be an "early pioneer" in MSP-430 assembly.
    This is so maintenance-programmers can take over the HJA430 project. They will say:
    "Well, there was some guy who was an early pioneer in the HJA430 project, but his code
    was just a crude prototype --- then real programmers (us!) took over to make it viable."
    An example of this being done is the Menuet OS that got stolen. The pirates slapped
    their own copyright notice on the source-code two weeks after downloading it. They called it the Kolibri OS and completely excluded the original programmer. Now they have a big website to show off their super-duper salesmanship skills: https://kolibrios.org/en/

    The problem with software is that, after it is written, it appears to be easy and obvious.
    People look at the source-code and say:
    "This is very straightforward non-clever programming. Anybody could have written this!"
    Then they make some minor modifications and start saying that they wrote it all.
    Maintenance programmers want to do 1% of the work and claim 100% of the credit. Of course, the obvious example of this is my MFX that I wrote at Testra.
    Testra now claims that they wrote this long before I showed up and that I had nothing to do with it. Testra can't stop me from telling the truth though; saying
    that I wrote MFX myself without any help. I never signed an NDA; they can't sue me.

    Designing software requires brains. Debugging software requires effort.
    Writing software is easy, but you have to have a good design before you start, and you have to get your paper-tiger debugged after you write it to make it work.
    Maintenance programmers contribute neither brains nor effort.
    Maintenance programmers are carrion-eaters.
    Testra has had a parade of MFX maintenance programmers after I left,
    but all of them failed to understand MFX; none of them made a positive contribution.
    Three decades later, Testra continues to use my MFX as I wrote it.
    They had to upgrade UR/Forth to work on the modern Windows OS in order to
    keep MFX going decade after decade --- still running on UR/Forth!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to jpit...@gmail.com on Fri Feb 3 15:37:28 2023
    On Thursday, January 19, 2023 at 12:20:09 AM UTC-7, jpit...@gmail.com wrote:
    On Thursday, 19 January 2023 at 06:51:57 UTC, Jurgen Pitaske wrote:
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.

    and according to the other thread mentioned,
    we might be talking about a non-problem anyway:

    Can I suggest the following change :
    : lit, ( val -- ) \ runtime: -- val
    align postpone literal ;

    Does this fix the problem Hugh ?

    That seems to fix the problem.

    I said that this *seems* to fix the problem.
    It doesn't actually fix the problem in every case.
    There are other circumstances in which the ALIGN doesn't help
    and VFX still crashes. I have a lot words that use POSTPONE LITERAL
    internally. I have tried hunting them all down and "fixing" them with
    an ALIGN but some of them still cause VFX to crash.

    On Sunday, January 29, 2023 at 12:49:00 AM UTC-7, jpit...@gmail.com wrote:
    And as you can see, nobody else is interested anyway.
    If there is an issue, people will probably discuss it with MPE directly,
    as they can then get into details to find a solution quickly.

    So what is the solution???
    You found the solution "quickly," so don't keep it to yourself. Tell us! Inquiring minds want to know!

    The problem with trying to fix bugs in VFX with hacky "fixes" such as
    putting ALIGN in front of the POSTPONE LITERAL is that there is no
    explanation for why this works, or any guarantee that this will always work.
    I would need to have the source-code for VFX to figure out why VFX has
    this bug and what can be done to fix the bug (not just put a band-aid on
    the problem with ALIGN and not have any explanation for why this works sometimes but not every time). I would also need to have a lot more than
    24 hours in each day --- or I would need to get paid by Stephen Pelc to debug VFX for him --- as it currently stands, I have neither the time to debug VFX nor adequate information about how VFX works internally.

    If Stephen Pelc put this bug into VFX purposely, in order to defeat me,
    he has succeeded! I don't know how to fix the bug. Stephen Pelc is the winner!

    Hans Bezemer says that Stephen Pelc did not introduce this bug purposefully. This implies that Stephen Pelc is just plain incompetent. VFX worked in the past,
    and now it doesn't work. Incompetance is a realistic explanation.
    Thanks for pointing that out, Hans! I would never have guessed such an explanation.
    Stephen Pelc is getting old. Senility and/or alcoholism are problems at his age.
    Also, the only "programmer" that he employs is Peter Knaggs who is so incompetent
    that he failed to implement a linked list: https://groups.google.com/g/comp.lang.forth/c/cMa8wV3OiY0/m/INBDVBh0BgAJ
    I don't think that Peter Knaggs is a programmer at all. A linked list should be easy!
    I think that Stephen Pelc's multi-billion-dollar multi-national actually consists only
    of Stephen Pelc and his dog Barto, and neither of them are any good at programming.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to hughag...@gmail.com on Fri Feb 3 15:51:12 2023
    On Saturday, February 4, 2023 at 12:37:30 AM UTC+1, hughag...@gmail.com wrote:
    On Thursday, January 19, 2023 at 12:20:09 AM UTC-7, jpit...@gmail.com wrote:
    On Thursday, 19 January 2023 at 06:51:57 UTC, Jurgen Pitaske wrote:
    On Thursday, 19 January 2023 at 03:34:13 UTC, hughag...@gmail.com wrote:
    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------
    POSTPONE LITERAL works, but calling LIT, does not work.
    NN pointed out that this bug can be worked-around by putting an
    ALIGN in front of the POSTPONE LITERAL in the LIT, definition.
    The ALIGN is not needed in front of a POSTPONE LITERAL that is
    in the hand-written macro itself.
    and according to the other thread mentioned,
    we might be talking about a non-problem anyway:

    Can I suggest the following change :
    : lit, ( val -- ) \ runtime: -- val
    align postpone literal ;

    Does this fix the problem Hugh ?

    That seems to fix the problem.
    I said that this *seems* to fix the problem.
    It doesn't actually fix the problem in every case.
    There are other circumstances in which the ALIGN doesn't help
    and VFX still crashes. I have a lot words that use POSTPONE LITERAL internally. I have tried hunting them all down and "fixing" them with
    an ALIGN but some of them still cause VFX to crash.
    On Sunday, January 29, 2023 at 12:49:00 AM UTC-7, jpit...@gmail.com wrote:
    And as you can see, nobody else is interested anyway.
    If there is an issue, people will probably discuss it with MPE directly,
    as they can then get into details to find a solution quickly.
    So what is the solution???
    You found the solution "quickly," so don't keep it to yourself. Tell us! Inquiring minds want to know!

    The problem with trying to fix bugs in VFX with hacky "fixes" such as
    putting ALIGN in front of the POSTPONE LITERAL is that there is no explanation for why this works, or any guarantee that this will always work. I would need to have the source-code for VFX to figure out why VFX has
    this bug and what can be done to fix the bug (not just put a band-aid on
    the problem with ALIGN and not have any explanation for why this works sometimes but not every time). I would also need to have a lot more than
    24 hours in each day --- or I would need to get paid by Stephen Pelc to debug VFX for him --- as it currently stands, I have neither the time to debug VFX nor adequate information about how VFX works internally.

    If Stephen Pelc put this bug into VFX purposely, in order to defeat me,
    he has succeeded! I don't know how to fix the bug. Stephen Pelc is the winner!

    Hans Bezemer says that Stephen Pelc did not introduce this bug purposefully. This implies that Stephen Pelc is just plain incompetent. VFX worked in the past,
    and now it doesn't work. Incompetance is a realistic explanation.
    Thanks for pointing that out, Hans! I would never have guessed such an explanation.
    Stephen Pelc is getting old. Senility and/or alcoholism are problems at his age.
    Also, the only "programmer" that he employs is Peter Knaggs who is so incompetent
    that he failed to implement a linked list: https://groups.google.com/g/comp.lang.forth/c/cMa8wV3OiY0/m/INBDVBh0BgAJ
    I don't think that Peter Knaggs is a programmer at all. A linked list should be easy!
    I think that Stephen Pelc's multi-billion-dollar multi-national actually consists only
    of Stephen Pelc and his dog Barto, and neither of them are any good at programming.
    I cannot be sure what exactly caused the bug in VFX. But given all possibilities, it seems
    UNLIKELY he caused it on purpose. Just to bug you. It's simply applying Occams razor.

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.

    Hans Bezemer <3 4tH

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Sat Feb 4 12:05:46 2023
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.

    Maintaining the narrative of the victim is what's important.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Sat Feb 4 09:48:26 2023
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.

    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit from the efforts within MPE to deliver a compiler that be standard.
    Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user
    to understand. Implementers too, it would seem. ANS dug a hole so deep
    it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the idea of a Forth standard, and how this puts his awesome creativity in a box.
    So far, his awesome creativity has been to write a Z80 Forth (almost certainly he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements
    for books that were written in the 1980s that he now (4 decades later) claims that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts.
    The bottom line is that VFX is failing to compile ANS-Forth compliant code that it used to compile correctly (SwiftForth still does compile this correctly). I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX
    and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system. I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name). Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Jurgen Pitaske on Sat Feb 4 10:44:48 2023
    On Saturday, 4 February 2023 at 18:40:24 UTC, Jurgen Pitaske wrote:
    On Saturday, 4 February 2023 at 17:48:28 UTC, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth
    and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit
    from the efforts within MPE to deliver a compiler that be standard. Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user to understand. Implementers too, it would seem. ANS dug a hole so deep it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the
    idea of a Forth standard, and how this puts his awesome creativity in a box.
    So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements
    for books that were written in the 1980s that he now (4 decades later) claims
    that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts. The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly).
    I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!
    F O R T H K I L L E R H U G H A Q U I S H I T T I S B A C K

    has escaped from his Mental Home again.
    There was so much peace and quiet here
    when he could not escape as of Corona.

    Now he dumps his shit on CLF again.

    There seems to be no work in Taxi Driving and Plumbing anymore either ...

    Is there anybody here that gives a **** about the orgasms he generates while producing this shit?
    At least it is visible that he is getting old.
    It takes him a lot longer now.

    And his brain is fortunately retiring,
    as he does not remember the facts anymore.
    For many years I have nothing to do with MPE / VFX anymore.
    And it had been all documented here. But he is getting brain dead.

    But a good point to remind me of the Forth Bookshelf I created,
    and which will still be there when he is 6 foot under -
    and I am quite proud of the work I did there.

    Some of these books might be a bit dated,
    but are there any better ones?
    And they are still bought by people who are interested in Forth;
    OK, there are only very few people,
    as this guy tries to force them all away from here;

    and number 5 - A Start with Forth -
    is to my knowledge the newest Forth Documentation generated.
    And I collected it and published it.

    My knowledge of Forth is rather limited, just the basics;
    does it matter?
    But I enjoyed the bits I learnt
    with the help of many here

    and in the German Forth community
    where such an idiot would just be excluded.

    My Forth Bookshelf:
    This is part of the current Forth Bookshelf and some other books and can be found at
    https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

    Is there any interest?
    Well, look at the ones that are included in the top 100 of the Compiler Books:
    BESTSELLERS IN COMPILER DESIGN. https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#5 Today only 3 of these books are there, but 3% is not bad, and it seems only one other Forth book.
    Sometimes it goes up to 10% or more.
    Not bad for a language like Forth.

    1 Charles Moore - Forth - The Early Years: Background information about the beginnings of this Computer Language
    2 Charles Moore - Programming A Problem Oriented Language: Forth - how the internals work
    3 Leo Brodie - Starting Forth -The Classic
    4 Leo Wong – Juergen Pintaske – Stephen Pelc FORTH LITE TUTORIAL: Code tested with free MPE VFX Forth, SwiftForth and Gforth
    5 Juergen Pintaske – A START WITH FORTH - Bits to Bites Collection
    – 12 Words to start, then 35 Words, Javascript Forth on the Web, more
    ( 6 Stephen Pelc - Programming Forth: Version July 2016 )
    7 Brad Rodriguez - Moving Forth / TTL CPU / B.Y.O. Assembler
    8 Tim Hentlass - Real Time Forth

    9 Chen-Hanson Ting - Footsteps In An Empty Valley issue 3
    10 Chen-Hanson Ting - Zen and the Forth Language: EFORTH for the
    MSP430G2552 from Texas Instruments
    11 Chen-Hanson Ting - eForth and Zen - 3rd Edition 2017: with 32-bit 86eForth v5.2 for Visual Studio 2015
    12 Chen-Hanson Ting - eForth Overview
    13 Chen-Hanson Ting - FIG-Forth Manual Document /Test in 1802 IP
    14 Chen-Hanson Ting - EP32 RISC Processor IP: Description and
    Implementation into FPGA – ASIC tested by NASA
    15 Chen-Hanson Ting – Irriducible Complexity
    16 Chen-Hanson Ting - Arduino controlled by eForth
    17 Chen-Hanson Ting – eForth as Arduino Sketch – no Programmer needed

    ( 18 Burkhard Kainka - Learning Programming with MyCo: )
    Learning Programming easily - independent of a PC (Forth code to follow soon)
    ( 19 Burkhard Kainka - BBC Micro:bit: Tests Tricks Secrets Code, Additional MicroBit )
    information when running the Mecrisp Package
    ( 20 Burkhard Kainka – Thomas Baum – Web Programming ATYTINY13 )
    21 Georg Heinrichs - The ATTINY Project – Why Forth?
    22 Dr. Karl Meinzer - IPS, a Forth-like language for Space
    Juergen Pintaske, publisher, July 2020


    Oh, and just for completeness that his brain is going bananas:

    He had one another post: https://groups.google.com/g/comp.lang.forth/c/Fmr2UH5FeoE

    Where he blames Swiftforth for having the VFX bug.
    Well, then he called it a typo and started this one here.
    Thank you very much for proving my point.
    Sad to hear, but there we are.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to hughag...@gmail.com on Sat Feb 4 10:40:22 2023
    On Saturday, 4 February 2023 at 17:48:28 UTC, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit from the efforts within MPE to deliver a compiler that be standard.
    Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user to understand. Implementers too, it would seem. ANS dug a hole so deep
    it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the idea of a Forth standard, and how this puts his awesome creativity in a box. So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements for books that were written in the 1980s that he now (4 decades later) claims
    that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts. The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly). I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!


    F O R T H K I L L E R H U G H A Q U I S H I T T I S B A C K

    has escaped from his Mental Home again.
    There was so much peace and quiet here
    when he could not escape as of Corona.

    Now he dumps his shit on CLF again.

    There seems to be no work in Taxi Driving and Plumbing anymore either ...

    Is there anybody here that gives a **** about the orgasms he generates while producing this shit?
    At least it is visible that he is getting old.
    It takes him a lot longer now.

    And his brain is fortunately retiring,
    as he does not remember the facts anymore.
    For many years I have nothing to do with MPE / VFX anymore.
    And it had been all documented here. But he is getting brain dead.

    But a good point to remind me of the Forth Bookshelf I created,
    and which will still be there when he is 6 foot under -
    and I am quite proud of the work I did there.

    Some of these books might be a bit dated,
    but are there any better ones?
    And they are still bought by people who are interested in Forth;
    OK, there are only very few people,
    as this guy tries to force them all away from here;

    and number 5 - A Start with Forth -
    is to my knowledge the newest Forth Documentation generated.
    And I collected it and published it.

    My knowledge of Forth is rather limited, just the basics;
    does it matter?
    But I enjoyed the bits I learnt
    with the help of many here

    and in the German Forth community
    where such an idiot would just be excluded.

    My Forth Bookshelf:
    This is part of the current Forth Bookshelf and some other books and can be found at
    https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

    Is there any interest?
    Well, look at the ones that are included in the top 100 of the Compiler Books: BESTSELLERS IN COMPILER DESIGN. https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#5 Today only 3 of these books are there, but 3% is not bad, and it seems only one other Forth book.
    Sometimes it goes up to 10% or more.
    Not bad for a language like Forth.

    1 Charles Moore - Forth - The Early Years: Background information about the beginnings of this Computer Language
    2 Charles Moore - Programming A Problem Oriented Language: Forth - how the
    internals work
    3 Leo Brodie - Starting Forth -The Classic
    4 Leo Wong – Juergen Pintaske – Stephen Pelc FORTH LITE TUTORIAL: Code tested with free MPE VFX Forth, SwiftForth and Gforth
    5 Juergen Pintaske – A START WITH FORTH - Bits to Bites Collection
    – 12 Words to start, then 35 Words, Javascript Forth on the Web, more
    ( 6 Stephen Pelc - Programming Forth: Version July 2016 )
    7 Brad Rodriguez - Moving Forth / TTL CPU / B.Y.O. Assembler
    8 Tim Hentlass - Real Time Forth

    9 Chen-Hanson Ting - Footsteps In An Empty Valley issue 3
    10 Chen-Hanson Ting - Zen and the Forth Language: EFORTH for the
    MSP430G2552 from Texas Instruments
    11 Chen-Hanson Ting - eForth and Zen - 3rd Edition 2017: with 32-bit
    86eForth v5.2 for Visual Studio 2015
    12 Chen-Hanson Ting - eForth Overview
    13 Chen-Hanson Ting - FIG-Forth Manual Document /Test in 1802 IP
    14 Chen-Hanson Ting - EP32 RISC Processor IP: Description and
    Implementation into FPGA – ASIC tested by NASA
    15 Chen-Hanson Ting – Irriducible Complexity
    16 Chen-Hanson Ting - Arduino controlled by eForth
    17 Chen-Hanson Ting – eForth as Arduino Sketch – no Programmer needed

    ( 18 Burkhard Kainka - Learning Programming with MyCo: )
    Learning Programming easily - independent of a PC (Forth code to follow soon)
    ( 19 Burkhard Kainka - BBC Micro:bit: Tests Tricks Secrets Code, Additional MicroBit )
    information when running the Mecrisp Package
    ( 20 Burkhard Kainka – Thomas Baum – Web Programming ATYTINY13 )
    21 Georg Heinrichs - The ATTINY Project – Why Forth?
    22 Dr. Karl Meinzer - IPS, a Forth-like language for Space
    Juergen Pintaske, publisher, July 2020

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to hughag...@gmail.com on Sat Feb 4 11:04:28 2023
    On Saturday, February 4, 2023 at 6:48:28 PM UTC+1, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit from the efforts within MPE to deliver a compiler that be standard.
    Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user
    to understand. Implementers too, it would seem. ANS dug a hole so deep
    it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the idea of a Forth standard, and how this puts his awesome creativity in a box. So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements for books that were written in the 1980s that he now (4 decades later) claims that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts.
    The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly). I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!
    Double standards here. If I call Hugh 'a clever boy' he takes it for an insult, but if I call
    myself 'a clever boy' he says I call myself an expert!

    But anyways, you may call 4tH a 'toy compiler' - but at least I got my own compiler.
    So I never have to complain the author put in a bug just to annoy me. I trust the guy
    who made it, you know. Unconditionally, that is. Yeah, I'm a real humanitarian.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to hughaguilar96@gmail.com on Sat Feb 4 20:49:48 2023
    In article <c8a05d29-d76c-4d43-8b6f-1d979b46c5bfn@googlegroups.com>,
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only
    person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman
    Juergen Pintaske!

    I studied the code that the VFX compiler generates and I'm impressed.
    Calling VFX "bug-ridden" makes you look like Trump.
    I'm disappointed that you don't name me among the supporters of VFX.
    Stephen Pelc has a valid business interest into Forth-200x and
    he has contributed to the discussion. Standards are compromises and
    it is no more than normal than that one of the two most important
    commercial applications is taken into account.

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Sun Feb 5 13:17:06 2023
    On 5/02/2023 4:48 am, Hugh Aguilar wrote:

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit >>> from the efforts within MPE to deliver a compiler that be standard.
    Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user
    to understand. Implementers too, it would seem. ANS dug a hole so deep
    it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the idea of a Forth standard, and how this puts his awesome creativity in a box.

    I've not stopped anyone from using ANS/200x or from joining you in your 'standard
    in opposition'. Nor has anyone. Any lack of success on those fronts lies at the
    feet of their creators and not invented enemies. When the simplest explanation is lack of interest, I go with that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to jpit...@gmail.com on Sun Feb 5 20:32:16 2023
    On Saturday, February 4, 2023 at 1:40:24 PM UTC-5, jpit...@gmail.com wrote:
    On Saturday, 4 February 2023 at 17:48:28 UTC, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth
    and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit
    from the efforts within MPE to deliver a compiler that be standard. Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user to understand. Implementers too, it would seem. ANS dug a hole so deep it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the
    idea of a Forth standard, and how this puts his awesome creativity in a box.
    So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements
    for books that were written in the 1980s that he now (4 decades later) claims
    that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts. The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly).
    I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!
    F O R T H K I L L E R H U G H A Q U I S H I T T I S B A C K

    has escaped from his Mental Home again.
    There was so much peace and quiet here
    when he could not escape as of Corona.

    Now he dumps his shit on CLF again.

    There seems to be no work in Taxi Driving and Plumbing anymore either ...

    Is there anybody here that gives a **** about the orgasms he generates while producing this shit?
    At least it is visible that he is getting old.
    It takes him a lot longer now.

    And his brain is fortunately retiring,
    as he does not remember the facts anymore.
    For many years I have nothing to do with MPE / VFX anymore.
    And it had been all documented here. But he is getting brain dead.

    But a good point to remind me of the Forth Bookshelf I created,
    and which will still be there when he is 6 foot under -
    and I am quite proud of the work I did there.

    Some of these books might be a bit dated,
    but are there any better ones?
    And they are still bought by people who are interested in Forth;
    OK, there are only very few people,
    as this guy tries to force them all away from here;

    and number 5 - A Start with Forth -
    is to my knowledge the newest Forth Documentation generated.
    And I collected it and published it.

    My knowledge of Forth is rather limited, just the basics;
    does it matter?
    But I enjoyed the bits I learnt
    with the help of many here

    and in the German Forth community
    where such an idiot would just be excluded.

    My Forth Bookshelf:
    This is part of the current Forth Bookshelf and some other books and can be found at
    https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

    Is there any interest?
    Well, look at the ones that are included in the top 100 of the Compiler Books:
    BESTSELLERS IN COMPILER DESIGN. https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#5 Today only 3 of these books are there, but 3% is not bad, and it seems only one other Forth book.
    Sometimes it goes up to 10% or more.
    Not bad for a language like Forth.

    1 Charles Moore - Forth - The Early Years: Background information about the beginnings of this Computer Language
    2 Charles Moore - Programming A Problem Oriented Language: Forth - how the internals work
    3 Leo Brodie - Starting Forth -The Classic
    4 Leo Wong – Juergen Pintaske – Stephen Pelc FORTH LITE TUTORIAL: Code tested with free MPE VFX Forth, SwiftForth and Gforth
    5 Juergen Pintaske – A START WITH FORTH - Bits to Bites Collection
    – 12 Words to start, then 35 Words, Javascript Forth on the Web, more
    ( 6 Stephen Pelc - Programming Forth: Version July 2016 )
    7 Brad Rodriguez - Moving Forth / TTL CPU / B.Y.O. Assembler
    8 Tim Hentlass - Real Time Forth

    9 Chen-Hanson Ting - Footsteps In An Empty Valley issue 3
    10 Chen-Hanson Ting - Zen and the Forth Language: EFORTH for the
    MSP430G2552 from Texas Instruments
    11 Chen-Hanson Ting - eForth and Zen - 3rd Edition 2017: with 32-bit 86eForth v5.2 for Visual Studio 2015
    12 Chen-Hanson Ting - eForth Overview
    13 Chen-Hanson Ting - FIG-Forth Manual Document /Test in 1802 IP
    14 Chen-Hanson Ting - EP32 RISC Processor IP: Description and
    Implementation into FPGA – ASIC tested by NASA
    15 Chen-Hanson Ting – Irriducible Complexity
    16 Chen-Hanson Ting - Arduino controlled by eForth
    17 Chen-Hanson Ting – eForth as Arduino Sketch – no Programmer needed

    ( 18 Burkhard Kainka - Learning Programming with MyCo: )
    Learning Programming easily - independent of a PC (Forth code to follow soon)
    ( 19 Burkhard Kainka - BBC Micro:bit: Tests Tricks Secrets Code, Additional MicroBit )
    information when running the Mecrisp Package
    ( 20 Burkhard Kainka – Thomas Baum – Web Programming ATYTINY13 )
    21 Georg Heinrichs - The ATTINY Project – Why Forth?
    22 Dr. Karl Meinzer - IPS, a Forth-like language for Space
    Juergen Pintaske, publisher, July 2020

    Wow! I literally don't know what to say. Hugh makes a couple of posts, and all the other nut cases start their jabbering again.

    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.

    --

    Rick C.

    - Get 1,000 miles of free Supercharging
    - Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to gnuarm.del...@gmail.com on Sun Feb 5 22:47:58 2023
    On Monday, February 6, 2023 at 5:32:19 AM UTC+1, gnuarm.del...@gmail.com wrote:
    On Saturday, February 4, 2023 at 1:40:24 PM UTC-5, jpit...@gmail.com wrote:
    On Saturday, 4 February 2023 at 17:48:28 UTC, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth
    and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit
    from the efforts within MPE to deliver a compiler that be standard. Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user
    to understand. Implementers too, it would seem. ANS dug a hole so deep it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the
    idea of a Forth standard, and how this puts his awesome creativity in a box.
    So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements
    for books that were written in the 1980s that he now (4 decades later) claims
    that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts.
    The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly).
    I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX
    and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!
    F O R T H K I L L E R H U G H A Q U I S H I T T I S B A C K

    has escaped from his Mental Home again.
    There was so much peace and quiet here
    when he could not escape as of Corona.

    Now he dumps his shit on CLF again.

    There seems to be no work in Taxi Driving and Plumbing anymore either ...

    Is there anybody here that gives a **** about the orgasms he generates while producing this shit?
    At least it is visible that he is getting old.
    It takes him a lot longer now.

    And his brain is fortunately retiring,
    as he does not remember the facts anymore.
    For many years I have nothing to do with MPE / VFX anymore.
    And it had been all documented here. But he is getting brain dead.

    But a good point to remind me of the Forth Bookshelf I created,
    and which will still be there when he is 6 foot under -
    and I am quite proud of the work I did there.

    Some of these books might be a bit dated,
    but are there any better ones?
    And they are still bought by people who are interested in Forth;
    OK, there are only very few people,
    as this guy tries to force them all away from here;

    and number 5 - A Start with Forth -
    is to my knowledge the newest Forth Documentation generated.
    And I collected it and published it.

    My knowledge of Forth is rather limited, just the basics;
    does it matter?
    But I enjoyed the bits I learnt
    with the help of many here

    and in the German Forth community
    where such an idiot would just be excluded.

    My Forth Bookshelf:
    This is part of the current Forth Bookshelf and some other books and can be found at
    https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

    Is there any interest?
    Well, look at the ones that are included in the top 100 of the Compiler Books:
    BESTSELLERS IN COMPILER DESIGN. https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#5
    Today only 3 of these books are there, but 3% is not bad, and it seems only one other Forth book.
    Sometimes it goes up to 10% or more.
    Not bad for a language like Forth.

    1 Charles Moore - Forth - The Early Years: Background information about the
    beginnings of this Computer Language
    2 Charles Moore - Programming A Problem Oriented Language: Forth - how the internals work
    3 Leo Brodie - Starting Forth -The Classic
    4 Leo Wong – Juergen Pintaske – Stephen Pelc FORTH LITE TUTORIAL: Code tested with free MPE VFX Forth, SwiftForth and Gforth
    5 Juergen Pintaske – A START WITH FORTH - Bits to Bites Collection
    – 12 Words to start, then 35 Words, Javascript Forth on the Web, more
    ( 6 Stephen Pelc - Programming Forth: Version July 2016 )
    7 Brad Rodriguez - Moving Forth / TTL CPU / B.Y.O. Assembler
    8 Tim Hentlass - Real Time Forth

    9 Chen-Hanson Ting - Footsteps In An Empty Valley issue 3
    10 Chen-Hanson Ting - Zen and the Forth Language: EFORTH for the MSP430G2552 from Texas Instruments
    11 Chen-Hanson Ting - eForth and Zen - 3rd Edition 2017: with 32-bit 86eForth v5.2 for Visual Studio 2015
    12 Chen-Hanson Ting - eForth Overview
    13 Chen-Hanson Ting - FIG-Forth Manual Document /Test in 1802 IP
    14 Chen-Hanson Ting - EP32 RISC Processor IP: Description and Implementation into FPGA – ASIC tested by NASA
    15 Chen-Hanson Ting – Irriducible Complexity
    16 Chen-Hanson Ting - Arduino controlled by eForth
    17 Chen-Hanson Ting – eForth as Arduino Sketch – no Programmer needed

    ( 18 Burkhard Kainka - Learning Programming with MyCo: )
    Learning Programming easily - independent of a PC (Forth code to follow soon)
    ( 19 Burkhard Kainka - BBC Micro:bit: Tests Tricks Secrets Code, Additional MicroBit )
    information when running the Mecrisp Package
    ( 20 Burkhard Kainka – Thomas Baum – Web Programming ATYTINY13 )
    21 Georg Heinrichs - The ATTINY Project – Why Forth?
    22 Dr. Karl Meinzer - IPS, a Forth-like language for Space
    Juergen Pintaske, publisher, July 2020
    Wow! I literally don't know what to say. Hugh makes a couple of posts, and all the other nut cases start their jabbering again.
    We love you too, Rick. ;-)

    Hans Bezemer CLF <3 Rick

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Lorem Ipsum on Mon Feb 6 20:33:48 2023
    On 6/02/2023 3:32 pm, Lorem Ipsum wrote:

    Wow! I literally don't know what to say. Hugh makes a couple of posts, and all the other nut cases start their jabbering again.

    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.

    You're saying you came to c.l.f. to learn Forth? Oy vey! How well did that work out?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to dxforth on Mon Feb 6 03:21:56 2023
    On Monday, February 6, 2023 at 10:33:54 AM UTC+1, dxforth wrote:
    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.
    You're saying you came to c.l.f. to learn Forth? Oy vey! How well did that work out?
    True. I learned Forth using this combo:
    - Lots of text books (sorry - no internet in the days);
    - Lots of trial and error (I call it "being raised by the compiler");
    - Wil Baden;
    - Occasional perls I find either here, Rosetta code or in FD.

    I still think - seriously - too little stuff is posted here. And I can understand. There is no fun
    in being beaten down (without alternative) when you're posting code. I loved the "I can write
    the fastest SQRT" though. We should do that more often.

    Hans Bezemer

    P.S. I still love the rewritten CONCAT implementation. I don't mind being beaten down when it
    results in better code. Hey, you may lose a few teeth, but at least you get a free beer!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Tue Feb 7 13:04:20 2023
    On 6/02/2023 10:21 pm, Hans Bezemer wrote:
    On Monday, February 6, 2023 at 10:33:54 AM UTC+1, dxforth wrote:
    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.
    You're saying you came to c.l.f. to learn Forth? Oy vey! How well did that >> work out?
    True. I learned Forth using this combo:
    - Lots of text books (sorry - no internet in the days);
    - Lots of trial and error (I call it "being raised by the compiler");
    - Wil Baden;
    - Occasional perls I find either here, Rosetta code or in FD.

    I still think - seriously - too little stuff is posted here. And I can understand. There is no fun
    in being beaten down (without alternative) when you're posting code. I loved the "I can write
    the fastest SQRT" though. We should do that more often.

    Hans Bezemer

    P.S. I still love the rewritten CONCAT implementation. I don't mind being beaten down when it
    results in better code. Hey, you may lose a few teeth, but at least you get a free beer!

    And even when no better solution is offered (few critics want to be that invested), their gut reaction can still be honest and enough to spur one
    to re-think the problem/proposition. I see c.l.f. as a sounding board. Expecting it to be font of all wisdom (or even just interested), one is
    likely to leave disappointed. So don't use it for that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to none albert on Mon Feb 6 19:58:04 2023
    On Saturday, February 4, 2023 at 12:49:52 PM UTC-7, none albert wrote:
    In article <c8a05d29-d76c-4d43...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only >person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman
    Juergen Pintaske!

    I studied the code that the VFX compiler generates and I'm impressed.
    Calling VFX "bug-ridden" makes you look like Trump.

    My novice-package worked fine in the past, and it still works on SwiftForth.
    I made a lot of effort to ensure that the novice-package was fully ANS-Forth compliant. Now it crashes on VFX in multiple places. This seems to be
    POSTPONE LITERAL but I haven't delved into it deeply enough to be sure.
    I really don't have time to debug VFX for Stephen Pelc, and I don't have the source-code to VFX anyway --- Stephen Pelc needs to debug his bug-ridden VFX. You "studied" VFX code??? Most likely you don't know what POSTPONE is.

    I could just go back to the old version of VFX that still worked.
    Hopefully Stephen Pelc still has this available on his MPE website.

    I'm disappointed that you don't name me among the supporters of VFX.

    Okay.
    You can make a spectacle of yourself on your knees for Stephen Pelc.
    You are henceforth considered to be fully the peer of Juergen Pintaske,
    Hans Bezemer and DXforth. You've earned it! Be pround of your achievement!

    Stephen Pelc has a valid business interest into Forth-200x and
    he has contributed to the discussion. Standards are compromises and
    it is no more than normal than that one of the two most important
    commercial applications is taken into account.

    It is only normal for astroturf projects (corporate marketing gimmicks
    promoted as being grassroots projects to lure in the foolish).

    Stephen Pelc is in the business of selling VFX.
    He wants Forth-200x to be crippled so he can tell his customers:
    "You need to pay for VFX to get a useful Forth system. Forth-200x is
    a toy language intended to teach novices the basics of Forth, so they can
    apply for work as VFX programmers and at least know about DUP SWAP etc..
    Play with gForth for a while, then upgrade to VFX when you have the money."

    Rquotations are more important to the future of Forth than the Forth-200x standard.
    Stephen Pelc accepted the Paysan-faked quotations into Forth-200x. That was purposeful crippling of Forth-200x --- that is all that anybody needs to know about him.

    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 -

    This goofy pseudo-philosophic blather definitely make you a peer of DXforth.
    He is always spouting nonsense like this too.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Tue Feb 7 16:10:17 2023
    On 7/02/2023 2:58 pm, Hugh Aguilar wrote:
    On Saturday, February 4, 2023 at 12:49:52 PM UTC-7, none albert wrote:
    In article <c8a05d29-d76c-4d43...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only
    person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX
    will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good
    in comparison. So, good riddeance to Stephen Pelc and his salesman
    Juergen Pintaske!

    I studied the code that the VFX compiler generates and I'm impressed.
    Calling VFX "bug-ridden" makes you look like Trump.

    My novice-package worked fine in the past, and it still works on SwiftForth. I made a lot of effort to ensure that the novice-package was fully ANS-Forth compliant. Now it crashes on VFX in multiple places. This seems to be POSTPONE LITERAL but I haven't delved into it deeply enough to be sure.
    I really don't have time to debug VFX for Stephen Pelc, and I don't have the source-code to VFX anyway --- Stephen Pelc needs to debug his bug-ridden VFX. You "studied" VFX code??? Most likely you don't know what POSTPONE is.

    I could just go back to the old version of VFX that still worked.
    Hopefully Stephen Pelc still has this available on his MPE website.

    I'm disappointed that you don't name me among the supporters of VFX.

    Okay.
    You can make a spectacle of yourself on your knees for Stephen Pelc.
    You are henceforth considered to be fully the peer of Juergen Pintaske,
    Hans Bezemer and DXforth. You've earned it! Be pround of your achievement!

    Stephen Pelc has a valid business interest into Forth-200x and
    he has contributed to the discussion. Standards are compromises and
    it is no more than normal than that one of the two most important
    commercial applications is taken into account.

    It is only normal for astroturf projects (corporate marketing gimmicks promoted as being grassroots projects to lure in the foolish).

    Stephen Pelc is in the business of selling VFX.
    He wants Forth-200x to be crippled so he can tell his customers:
    "You need to pay for VFX to get a useful Forth system. Forth-200x is
    a toy language intended to teach novices the basics of Forth, so they can apply for work as VFX programmers and at least know about DUP SWAP etc..
    Play with gForth for a while, then upgrade to VFX when you have the money."

    Rquotations are more important to the future of Forth than the Forth-200x standard.
    Stephen Pelc accepted the Paysan-faked quotations into Forth-200x. That was purposeful crippling of Forth-200x --- that is all that anybody needs to know about him.

    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 -

    This goofy pseudo-philosophic blather definitely make you a peer of DXforth. He is always spouting nonsense like this too.

    You could do with a one-line sig. It would leave room for something new.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jach Feng@21:1/5 to All on Mon Feb 6 21:27:00 2023
    Lorem Ipsum 在 2023年2月6日 星期一中午12:32:19 [UTC+8] 的信中寫道:
    On Saturday, February 4, 2023 at 1:40:24 PM UTC-5, jpit...@gmail.com wrote:
    On Saturday, 4 February 2023 at 17:48:28 UTC, hughag...@gmail.com wrote:
    On Friday, February 3, 2023 at 6:05:48 PM UTC-7, dxforth wrote:
    On 4/02/2023 10:51 am, Hans Bezemer wrote:

    But why does a clever boy like you depends on somebody elses compiler? That's what
    I can't figure out. Almost everybody down here uses his own. The one they built and
    raised and eventually fell in love with.
    Maintaining the narrative of the victim is what's important.
    So far, Stephen Pelc's support has been primarily from Hans Bezemer, DXforth
    and Juergen Pintaske.

    Hans Bezemer enjoys flinging insults at me. First he calls me a "chirping bird,"
    and now he calls me a "clever boy."
    Hans' 4th that he fell in love with is a toy byte-code interpreter written in C.
    He doesn't know what Harvard Architecture is. He doesn't know what copy-on-write
    is. He doesn't really know anything about programming. He makes educational videos.

    DXforth said this earlier:
    On Thursday, January 12, 2023 at 5:44:22 PM UTC-7, dxforth wrote:
    On 12/01/2023 10:35 pm, albert wrote:
    However if you do bother about ANS/ISO , then you can reap great benefit
    from the efforts within MPE to deliver a compiler that be standard. Even if you are not a paying customer.
    The Standard and what it permits is too complicated for the average user
    to understand. Implementers too, it would seem. ANS dug a hole so deep it challenges everyone.

    This is just DXforth's endless stream of drivel about how much he hates the
    idea of a Forth standard, and how this puts his awesome creativity in a box.
    So far, his awesome creativity has been to write a Z80 Forth (almost certainly
    he used the source-code from Loelliger's book for this). His greatest achievment
    is the END macro that he has been bragging about for decades:
    : END POSTPONE THEN POSTPONE EXIT ; IMMEDIATE
    He tried for a long time to say that I support him in his hatred for the idea of a Forth
    standard, but he eventually stopped because of the obvious problem that I am a strong
    proponent of having a Forth standard --- the Forth community should start any time!
    He gets a thrill out of mocking me by using the term "disambiguifier" for various
    kindergarten-level Forth that he has written that has nothing to do with disambiguifiers.
    He really doesn't know anything about the subject.

    Juergen Pintaske, of course, endlessly spams this forum with advertisements
    for books that were written in the 1980s that he now (4 decades later) claims
    that he is the coauthor of. He also has his "A Start with Forth" book that is just
    an over-grown sales pamphlet for VFX. He knows nothing about Forth programming!

    Stephen Pelc's support base is composed entirely of pompous fake-experts.
    The bottom line is that VFX is failing to compile ANS-Forth compliant code that
    it used to compile correctly (SwiftForth still does compile this correctly).
    I'm not a major "victim" here because I can dump VFX and use a different compiler.
    The major victims are the MPE customers who have a large investment in VFX
    and who expected VFX to continue to compile ANS-Forth code correctly.

    I have always relied on VFX. The failure of VFX to compile the ANS-Forth novice-package is an impetus for me to finally just write my own Forth system.
    I'm also looking into Ilya Tarasov's Ibris Forth (I'm likely the only person here
    who knows where the name "Ibris" comes from and thinks that it is a cool name).
    Forth has some kind of future that Stephen Pelc and his bug-ridden VFX will not be included in. Stephen Pelc was always a negative contributor to Forth
    because he purposely crippled Forth-200x in order to make VFX look good in comparison. So, good riddeance to Stephen Pelc and his salesman Juergen Pintaske!
    F O R T H K I L L E R H U G H A Q U I S H I T T I S B A C K

    has escaped from his Mental Home again.
    There was so much peace and quiet here
    when he could not escape as of Corona.

    Now he dumps his shit on CLF again.

    There seems to be no work in Taxi Driving and Plumbing anymore either ...

    Is there anybody here that gives a **** about the orgasms he generates while producing this shit?
    At least it is visible that he is getting old.
    It takes him a lot longer now.

    And his brain is fortunately retiring,
    as he does not remember the facts anymore.
    For many years I have nothing to do with MPE / VFX anymore.
    And it had been all documented here. But he is getting brain dead.

    But a good point to remind me of the Forth Bookshelf I created,
    and which will still be there when he is 6 foot under -
    and I am quite proud of the work I did there.

    Some of these books might be a bit dated,
    but are there any better ones?
    And they are still bought by people who are interested in Forth;
    OK, there are only very few people,
    as this guy tries to force them all away from here;

    and number 5 - A Start with Forth -
    is to my knowledge the newest Forth Documentation generated.
    And I collected it and published it.

    My knowledge of Forth is rather limited, just the basics;
    does it matter?
    But I enjoyed the bits I learnt
    with the help of many here

    and in the German Forth community
    where such an idiot would just be excluded.

    My Forth Bookshelf:
    This is part of the current Forth Bookshelf and some other books and can be found at
    https://www.amazon.co.uk/Juergen-Pintaske/e/B00N8HVEZM

    Is there any interest?
    Well, look at the ones that are included in the top 100 of the Compiler Books:
    BESTSELLERS IN COMPILER DESIGN. https://www.amazon.com/gp/bestsellers/books/3970/ref=pd_zg_hrsr_b_1_5_last#5
    Today only 3 of these books are there, but 3% is not bad, and it seems only one other Forth book.
    Sometimes it goes up to 10% or more.
    Not bad for a language like Forth.

    1 Charles Moore - Forth - The Early Years: Background information about the
    beginnings of this Computer Language
    2 Charles Moore - Programming A Problem Oriented Language: Forth - how the internals work
    3 Leo Brodie - Starting Forth -The Classic
    4 Leo Wong – Juergen Pintaske – Stephen Pelc FORTH LITE TUTORIAL: Code tested with free MPE VFX Forth, SwiftForth and Gforth
    5 Juergen Pintaske – A START WITH FORTH - Bits to Bites Collection
    – 12 Words to start, then 35 Words, Javascript Forth on the Web, more
    ( 6 Stephen Pelc - Programming Forth: Version July 2016 )
    7 Brad Rodriguez - Moving Forth / TTL CPU / B.Y.O. Assembler
    8 Tim Hentlass - Real Time Forth

    9 Chen-Hanson Ting - Footsteps In An Empty Valley issue 3
    10 Chen-Hanson Ting - Zen and the Forth Language: EFORTH for the MSP430G2552 from Texas Instruments
    11 Chen-Hanson Ting - eForth and Zen - 3rd Edition 2017: with 32-bit 86eForth v5.2 for Visual Studio 2015
    12 Chen-Hanson Ting - eForth Overview
    13 Chen-Hanson Ting - FIG-Forth Manual Document /Test in 1802 IP
    14 Chen-Hanson Ting - EP32 RISC Processor IP: Description and Implementation into FPGA – ASIC tested by NASA
    15 Chen-Hanson Ting – Irriducible Complexity
    16 Chen-Hanson Ting - Arduino controlled by eForth
    17 Chen-Hanson Ting – eForth as Arduino Sketch – no Programmer needed

    ( 18 Burkhard Kainka - Learning Programming with MyCo: )
    Learning Programming easily - independent of a PC (Forth code to follow soon)
    ( 19 Burkhard Kainka - BBC Micro:bit: Tests Tricks Secrets Code, Additional MicroBit )
    information when running the Mecrisp Package
    ( 20 Burkhard Kainka – Thomas Baum – Web Programming ATYTINY13 )
    21 Georg Heinrichs - The ATTINY Project – Why Forth?
    22 Dr. Karl Meinzer - IPS, a Forth-like language for Space
    Juergen Pintaske, publisher, July 2020
    Wow! I literally don't know what to say. Hugh makes a couple of posts, and all the other nut cases start their jabbering again.

    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.

    --

    Rick C.

    - Get 1,000 miles of free Supercharging
    - Tesla referral code - https://ts.la/richard11209
    Don't "think", just go ahead and learn C++. It may help your winkled mind from crazy:-)

    --Jach

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Jach Feng on Tue Feb 7 17:01:42 2023
    On Monday, February 6, 2023 at 10:27:02 PM UTC-7, Jach Feng wrote:
    Lorem Ipsum 在 2023年2月6日 星期一中午12:32:19 [UTC+8] 的信中寫道:
    On Saturday, February 4, 2023 at 1:40:24 PM UTC-5, jpit...@gmail.com wrote:
    My knowledge of Forth is rather limited, just the basics;
    does it matter?

    Yes, it does matter.

    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.
    Don't "think", just go ahead and learn C++. It may help your winkled mind from crazy:-)

    Jach, you are not being realistic.
    If Rick Collins wasn't smart enough to learn Forth, he isn't going to be smart enough
    to learn C or C++. People of his skill level are normally provided with a simple
    scripting language such as BASIC or Lua. This is why the BASIC Stamp was popular.

    I don't think that anybody on comp.lang.forth is smart enough to learn Forth. None of them are actually programming in Forth --- this is why none of them noticed
    that VFX has serious bugs in POSTPONE LITERAL (and possibly any use of POSTPONE).
    This is also why Stephen Pelc has enthusiastic supporters of his bug-ridden VFX who
    hate me because I have pointed out that VFX has bugs and will no longer compile my
    novice-package that is fully ANS-Forth compliant --- they aren't bothered by bugs in VFX
    because they aren't using VFX to write Forth code anyway --- the bugs in VFX aren't
    a problem for those who spend their time promoting VFX but who never have to actually make any Forth code work on VFX.

    Getting code to actually work is the difficult part of programming, so many "programmers"
    avoid ever being put in a position where they have to do this --- this is why comp.lang.forth
    is full of super-duper programming experts who never do any programming.

    I put effort into writing my MSP-430 assembler, and now Stephen Pelc has sabotaged
    my novice-package by releasing this new bug-ridden version of VFX that no longer
    compiles my novice-package that I have been using under VFX for many years.
    I think that he introduced these bugs on purpose to stop me from using VFX
    to write code for the MSP-430 that would be in competition with his MSP-430 cross-compiler. Stephen Pelc is not the friend of the Forth community --- he considers
    the Forth community to be his competition --- he sabotages the Forth community.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Wed Feb 8 14:54:06 2023
    On 8/02/2023 12:01 pm, Hugh Aguilar wrote:

    I don't think that anybody on comp.lang.forth is smart enough to learn Forth. None of them are actually programming in Forth --- this is why none of them noticed
    that VFX has serious bugs in POSTPONE LITERAL (and possibly any use of POSTPONE).

    Your complaint is nobody has recently used the Novice Pack else they would have noticed. That's very likely correct.

    Getting code to actually work is the difficult part of programming, so many "programmers"
    avoid ever being put in a position where they have to do this --- this is why comp.lang.forth
    is full of super-duper programming experts who never do any programming.

    That's why the Novice Pack was created - to eliminate the difficulties. In telling
    programmers they have neither the time nor need to re-invent the wheel, one is creating the "super-duper programming experts" who have no experience they can rely
    on or call their own because everything has come second-hand.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jan Coombs@21:1/5 to dxforth on Wed Feb 8 15:10:12 2023
    On Wed, 8 Feb 2023 14:54:06 +1100
    dxforth <dxforth@gmail.com> wrote:

    In telling
    programmers they have neither the time nor need to re-invent the wheel, one is
    creating the "super-duper programming experts" who have no experience they can rely
    on or call their own because everything has come second-hand.

    True, ISTR that Elizabeth Rather said it is easier to teach a person with system/domain specific product experience to write Forth than to teach a forth expert to pick up the domain specific knowledge.

    Jan Coombs
    --

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Jan Coombs on Wed Feb 8 17:49:28 2023
    Jan Coombs <jan4comp.lang.forth@murray-microft.co.uk> writes:
    True, ISTR that Elizabeth Rather said it is easier to teach a person with system/domain specific product experience to write Forth than to teach a forth expert to pick up the domain specific knowledge.

    That is certainly true for her: She is an expert in teaching Forth.

    In general, if the programming part is simple, the approach outlined
    above may work out. If the requirements on the programming are not so
    simple, a domain expert with only a short programming education will
    get the domain part right, but is likely to get in trouble in the
    programming. Such jobs require the collaboration of a domain expert
    and a programming expert.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Anton Ertl on Wed Feb 8 11:43:28 2023
    On Wednesday, February 8, 2023 at 10:58:22 AM UTC-7, Anton Ertl wrote:
    Jan Coombs <jan4comp....@murray-microft.co.uk> writes:
    True, ISTR that Elizabeth Rather said it is easier to teach a person with system/domain specific product experience to write Forth than to teach a forth expert to pick up the domain specific knowledge.

    That is certainly true for her: She is an expert in teaching Forth.

    In general, if the programming part is simple, the approach outlined
    above may work out. If the requirements on the programming are not so
    simple, a domain expert with only a short programming education will
    get the domain part right, but is likely to get in trouble in the programming. Such jobs require the collaboration of a domain expert
    and a programming expert.

    What Anton Ertl said is true.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Wed Feb 8 11:42:12 2023
    DXforth is a typical troll.
    He routinely twists a person's words to seem as if he said something
    that he did not say (usually the exact opposite of what he did say).
    DXforth does to get a response from the person, then he twists this response again to something else --- he continues doing this so long as he continues
    to get responses --- this is the "troll game" that we see so often on comp.lang.forth
    (and a big part of why I have lost interest in comp.lang.forth).

    DXforth has his Z80 Forth that is most likely copied out of Loelliger's book: "Threaded Interpretive Languages" (I read the book when I was still in high-school).
    DXforth provides comp.lang.forth with an endless stream of drivel in which he claims that his awesome creativity must never be put in a box by any Forth standard
    or code-library, because he can write super-efficient programs that are "exactly right"
    due to him writing them entirely from scratch (Elizabeth Rather says the same thing).
    DXforth is a clown --- I want him to stop pestering me --- I want him to just go away.
    Elizabeth Rather has gone away --- good riddance!

    On Tuesday, February 7, 2023 at 8:54:10 PM UTC-7, dxforth wrote:
    On 8/02/2023 12:01 pm, Hugh Aguilar wrote:

    I don't think that anybody on comp.lang.forth is smart enough to learn Forth.
    None of them are actually programming in Forth --- this is why none of them noticed
    that VFX has serious bugs in POSTPONE LITERAL (and possibly any use of POSTPONE).

    Your complaint is nobody has recently used the Novice Pack else they would have
    noticed. That's very likely correct.

    This is obviously not what I said. DXforth is a liar trying to put words in my mouth.
    I said that nobody is doing any programming in VFX or they would have noticed the bug in the new version VFX as soon as it came out (of, if they are programming
    in VFX, they aren't using POSTPONE most likely because it is too advanced for them).

    The point of this thread is that the new version of VFX has serious bugs.
    The silence from Stephen Pelc is deafening!
    Stephen Pelc obviously put these bugs in VFX to prevent my novice-package from working.
    The bugs are in POSTPONE which is a crucial part of my early-binding MACRO: that
    depends upon the disambiguifiers to be ANS-Forth compliant.
    Stephen Pelc totally lied when he said that the disambiguifiers don't work.
    The disambiguifiers fix the bug in ANS-Forth that makes FIND and tick ambiguous and unusable on all of the words in ANS-Forth (51 of them) whose definition includes
    the statement: "Interpretation semantics for this word are undefined." https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/tNE4Q9aNDwAJ

    Getting code to actually work is the difficult part of programming, so many "programmers"
    avoid ever being put in a position where they have to do this --- this is why comp.lang.forth
    is full of super-duper programming experts who never do any programming.

    That's why the Novice Pack was created - to eliminate the difficulties. In telling
    programmers they have neither the time nor need to re-invent the wheel, one is
    creating the "super-duper programming experts" who have no experience they can rely
    on or call their own because everything has come second-hand.

    This is obviously not what I have ever said.
    The novice-package was created to provide building blocks for writing programs, so the programmer can concentrate on writing his program, rather than dinking around
    with implementing data-structures that were invented decades ago.
    I'm not writing people's programs for them.
    The novice-package is not for script kiddies who want their program already written
    for them, and who will then write simple scripts on top of the program.
    People have to be able to write their own programs or the novice-package won't help them.

    The novice package speeds up writing programs (certainly for me, as I don't have time
    to reimplement basic data-structures over and over again). For example, I wrote my
    <SWITCH with FAST-SWITCH> and SLOW-SWITCH> quickly using the novice-package. Later on, for the sake of efficiency, I did go back and rewrite the code for doing a
    binary-search to be "exactly right for the application.' Note however, that I did this
    *after* I had the program working --- if I had to do this on my first attempt at writing
    the program I would have likely become bogged down in writing the binary-search which would have been a huge distraction from writing the SLOW-SWITCH> code. Note also that Gerry Jackson has failed to write anything comparable to SLOW-SWITCH>
    because he copied Michael Gassenenko's code that only had something comparable to my FAST-SWITCH> and was not robust so it couldn't be upgraded to support
    a sparse array, which is what SLOW-SWITCH> does. There is a big difference between
    using a code-library (what I do) and copying somebody else's code (what Gerry Jackson
    does, and what Elizabeth Rather described as: Having a lot of old programs in one's
    back pocket, then reworking these old programs as slightly different new programs.)

    As another example, I wrote HJA430 (my MSP-430 assembler) quickly because the novice-package provided adequate data-structures (the bit-field struct helped a lot
    in constructing the opcode). The code is straightforward and simple.
    I was able to focus my mind on new ideas, such as implementing code blocks (similar to C's code blocks but better). The assembler would have been much more
    complicated if I had had to write everything from scratch without the novice-package.

    The novice-package also makes these programs more efficient. Elizabeth Rather believes
    that data-structures that are "exactly right for the application" will be super-efficient compared
    to general-purpose data-structures that work for any application. She is wrong. I put effort into making my novice-package efficient.
    This is more effort than any application programmer is going to put in when writing
    an application under deadline --- he can't tell the boss: "I will get started on my
    assigned task as soon as I finish writing an array-definer and array-sort that is exactly right for
    this application. I will start on the assigned task next week, unless something else comes up."

    To keep his job he has to tell the boss that the task is finished at the end of the day:
    "I have already finished the assigned task. I used a bubble-sort on the array of structs,
    so it is slow as molasses, but Forth code is expected to be inefficient, so who cares?
    Or:
    "I have already finished the assigned task using an array definer provided
    in the book: 'Starting Forth.' I also used Wil Baden's array-sort code, both of which
    require the array element to be one-cell in size. An array of cells is really the wrong
    data-structure for holding sorted structs and supporting insertion or removal of elements.
    I finished my task quickly enough, but it will need to be rewritten from scratch by somebody
    who knows more about Forth than what was described in: 'Starting Forth.'"
    Or:
    "I have already finished the assigned task. I used the novice-package so it is efficient."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Thu Feb 9 14:52:16 2023
    On 9/02/2023 6:42 am, Hugh Aguilar wrote:

    DXforth provides comp.lang.forth with an endless stream of drivel in which he claims that his awesome creativity must never be put in a box by any Forth standard
    or code-library, because he can write super-efficient programs that are "exactly right"
    due to him writing them entirely from scratch (Elizabeth Rather says the same thing).

    It's Moore who said it:

    "all the programmers in the world are out there inventing for you, the general solution
    [...] I have demonstrated in the past, ad nauseam, applications where I can reduce the
    amount of code by 90% percent and in some cases 99%. It can be done, but in a case by
    case basis."

    And on the premise that the programmer should to do the thinking, Forth was created.
    That's in stark contrast to most languages. It's perhaps testimony to the resilience
    of Forth and its users that despite all the offers of 'an easier way' they prefer to
    do it themselves. Which includes you. You claim the right to think for yourself but
    would deny others the same. Leaders are like that.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Thu Feb 9 18:55:56 2023
    On 9/02/2023 6:42 am, Hugh Aguilar wrote:

    DXforth has his Z80 Forth that is most likely copied out of Loelliger's book: "Threaded Interpretive Languages" (I read the book when I was still in high-school).

    Why the endless references to Loelliger? Let me guess. You read the book and decided
    you would write a forth for your Kaypro. But as with all the forths you have threatened
    to write you never got around to it and their ghosts haunt you.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Thu Feb 9 20:30:34 2023
    On 9/02/2023 6:43 am, Hugh Aguilar wrote:
    On Wednesday, February 8, 2023 at 10:58:22 AM UTC-7, Anton Ertl wrote:
    Jan Coombs <jan4comp....@murray-microft.co.uk> writes:
    True, ISTR that Elizabeth Rather said it is easier to teach a person with system/domain specific product experience to write Forth than to teach a forth expert to pick up the domain specific knowledge.

    That is certainly true for her: She is an expert in teaching Forth.

    In general, if the programming part is simple, the approach outlined
    above may work out. If the requirements on the programming are not so
    simple, a domain expert with only a short programming education will
    get the domain part right, but is likely to get in trouble in the
    programming. Such jobs require the collaboration of a domain expert
    and a programming expert.

    What Anton Ertl said is true.

    Never knew you were both so aligned in your thinking. With all this good
    will there may be hope for 200x yet :) BTW what makes a programming expert? ISTM many well-known programmers originally came from other domains.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Thu Feb 9 07:40:01 2023
    On Wednesday, February 8, 2023 at 8:42:14 PM UTC+1, Hugh Aguilar wrote:
    DXforth is a typical troll.
    DXforth is a clown --- I want him to stop pestering me --- I want him to just go away.
    Ad hominem - so I'll just ignore that. Why do you want him to go away? I thought you'd
    lost interest in c.l.f. - and yet: here we are.

    Your complaint is nobody has recently used the Novice Pack else they would have
    noticed. That's very likely correct.
    I think I'd subscribe to that. It's a massive package and I don't really see the benefits of
    it in my usual programming. But that's just me. Why don't you put it up in Github and see
    how many people pick it up and discuss it? It would be real easy to end that discussion
    with some actual numbers.

    The point of this thread is that the new version of VFX has serious bugs.
    I only heard of one so far.

    Stephen Pelc obviously put these bugs in VFX to prevent my novice-package from working.
    The bugs are in POSTPONE which is a crucial part of my early-binding MACRO: that
    depends upon the disambiguifiers to be ANS-Forth compliant.
    Stephen Pelc totally lied when he said that the disambiguifiers don't work. The disambiguifiers fix the bug in ANS-Forth that makes FIND and tick ambiguous
    and unusable on all of the words in ANS-Forth (51 of them) whose definition includes
    the statement: "Interpretation semantics for this word are undefined." https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/tNE4Q9aNDwAJ
    Well, if the standards state "Interpretation semantics for this word are undefined" then
    that's the end of the line. You state yourself that's due to "a bug in ANS Forth". Hence,
    if a compiler is ANS compliant, it will contain that "bug". So what is exactly bugging you:
    the "bug" in ANS or the "bug" in VFX "not conforming to ANS. I lost track.

    The novice-package was created to provide building blocks for writing programs,
    so the programmer can concentrate on writing his program, rather than dinking around
    with implementing data-structures that were invented decades ago.
    I'm not writing people's programs for them.
    The novice-package is not for script kiddies who want their program already written
    for them, and who will then write simple scripts on top of the program. People have to be able to write their own programs or the novice-package won't help them.
    Are we having a "naming problem" here? If the novice package is not targeted to newbies
    or experts, what's its target audience?

    The novice package speeds up writing programs (certainly for me, as I don't have time
    to reimplement basic data-structures over and over again). For example, I wrote my
    <SWITCH with FAST-SWITCH> and SLOW-SWITCH> quickly using the novice-package. Later on, for the sake of efficiency, I did go back and rewrite the code for doing a
    binary-search to be "exactly right for the application.' Note however, that I did this
    *after* I had the program working --- if I had to do this on my first attempt at writing
    the program I would have likely become bogged down in writing the binary-search
    which would have been a huge distraction from writing the SLOW-SWITCH> code. Note also that Gerry Jackson has failed to write anything comparable to SLOW-SWITCH>
    because he copied Michael Gassenenko's code that only had something comparable
    to my FAST-SWITCH> and was not robust so it couldn't be upgraded to support
    a sparse array, which is what SLOW-SWITCH> does. There is a big difference between
    using a code-library (what I do) and copying somebody else's code (what Gerry Jackson
    does, and what Elizabeth Rather described as: Having a lot of old programs in one's
    back pocket, then reworking these old programs as slightly different new programs.)
    Well, speed is your personal "thing". I know that different techniques scale differently.
    E.g. a table to look up some options at the start of a program won't really benefit from
    implementing a blindingly fast perfect hash algorithm. Even in its most primitive O(n)
    form it's so fast users won't notice. Up to about 100 entries (in 4tH) CASE..OF will
    beat any other lookup mechanism (apart from "direct access"). Binary searches will give
    a decent performance for a wide range of values. Combined with hashes it's my preferred
    technique for getting a good balance between speed, allocated memory and ease of use (for the programmer).

    I can't speak for others, but I got a number of datastructures that cater for that. I
    recently analyzed a sizeable repository using a couple of 4tH programs in 15s. That's
    hardly two gulps of coffee. Do you really think speeding that up 100 fold will significantly
    change my working day?

    I was able to focus my mind on new ideas, such as implementing code blocks (similar to C's code blocks but better). The assembler would have been much more
    complicated if I had had to write everything from scratch without the novice-package.
    Everybody has the tools he or she is comfortable with. I recently had a discussion about
    the use of a REGEX package. Personally, I rarely use it. I have my own tools - and proved
    this approach was viable. And that's the end of it. I'm not saying my approach should
    rule the world. I'm saying "it works" - and should add: "for me". I don't think people should
    be out to convert the world to THEIR approach, when other approaches are just as viable.
    If it works for you: fine. If it works for others: even better. But never claim there are no
    other viable alternatives.

    The novice-package also makes these programs more efficient. Elizabeth Rather believes
    that data-structures that are "exactly right for the application" will be super-efficient compared
    to general-purpose data-structures that work for any application. She is wrong.
    Well, have you ever considered that she may not be wrong, but that sometimes "good is good
    enough"? I like beating Python or Ruby over the head with their abysmal performance like any
    other man, but I have to admit that sometimes other properties than just raw speed are more
    important. And especially package-wise Python beats ANY Forth compiler.

    I put effort into making my novice-package efficient.
    That's worth some praise.

    This is more effort than any application programmer is going to put in when writing
    an application under deadline --- he can't tell the boss: "I will get started on my
    assigned task as soon as I finish writing an array-definer and array-sort that is exactly right for
    this application. I will start on the assigned task next week, unless something else comes up."
    True. That's why - in spite of the Forth myth that "one doesn't need libraries" I wrote
    500+ of them. You'll see a whole bunch of includes in many of my programs. I never regretted that. Recently I added LibreOffice Calc generation to a program of mine
    by just adding one more "INCLUDE". Works like a charm. I can do the same for .XLS,
    .RTF, .HTML or LaTeX. I need that more often for work than a "quick switch". But that's
    me. That's my line of work. You don't have to agree with me.

    To keep his job he has to tell the boss that the task is finished at the end of the day:
    "I have already finished the assigned task. I used a bubble-sort on the array of structs,
    so it is slow as molasses, but Forth code is expected to be inefficient, so who cares?
    In my experience delivery dates are more important in business than any other property.
    It just has to work and it has to be released yesterday. That's why IMHO abstracted
    functionality works (aka libs).

    "I have already finished the assigned task using an array definer provided
    in the book: 'Starting Forth.' I also used Wil Baden's array-sort code, both of which
    require the array element to be one-cell in size. An array of cells is really the wrong
    data-structure for holding sorted structs and supporting insertion or removal of elements.

    4tH has index based sorting routines. It can handle ANY type of structure and does
    the job "in place". I recently used it to sort a double cell array. Although Wil Badens
    routines are just fine for many tasks, sometimes you don't want to deal with an extra
    index array. I built a whole bunch of sorting routines on that protocol, so one can swap
    routines by just including another lib.

    "I have already finished the assigned task. I used the novice-package so it is efficient."
    More likely: "I've already finished the assigned task because even someone brainless
    can use Python - and it's got a massive amount of libs I can pull in so I can pretend
    I'm very computer literate. Never mind it runs for 15 minutes to finish the task". And note
    I detest Python! You'll find me dead on my keyboard writing a Python program..

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Fri Feb 10 12:55:28 2023
    On 10/02/2023 2:40 am, Hans Bezemer wrote:
    On Wednesday, February 8, 2023 at 8:42:14 PM UTC+1, Hugh Aguilar wrote:
    DXforth is a typical troll.
    DXforth is a clown --- I want him to stop pestering me --- I want him to just go away.
    Ad hominem - so I'll just ignore that. Why do you want him to go away? I thought you'd
    lost interest in c.l.f. - and yet: here we are.

    Your complaint is nobody has recently used the Novice Pack else they would have
    noticed. That's very likely correct.
    I think I'd subscribe to that. It's a massive package and I don't really see the benefits of
    it in my usual programming. But that's just me. Why don't you put it up in Github and see
    how many people pick it up and discuss it? It would be real easy to end that discussion
    with some actual numbers.

    I think it's very tricky writing something with the expectation others will use it.
    In Forth the odds are the same as winning the lottery. I'll happily squirrel away
    small routines I think I may one day need, but asking me to buy into a mindset that's
    not my own isn't going to happen. I suspect that's true for most forthers. If we're
    prepared to split over things like a standard, then it shouldn't come as a surprise.
    If I see someone using their routines in their daily work they have my applause because the former is all that matters.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Fri Feb 10 10:17:33 2023
    dxforth <dxforth@gmail.com> writes:
    BTW what makes a programming expert?

    From <https://en.wikipedia.org/wiki/Expert>:

    |An expert is somebody who has a broad and deep understanding and
    |competence in terms of knowledge, skill and experience through
    |practice and education in a particular field.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Anton Ertl on Fri Feb 10 06:05:35 2023
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    BTW what makes a programming expert?
    From <https://en.wikipedia.org/wiki/Expert>:

    |An expert is somebody who has a broad and deep understanding and
    |competence in terms of knowledge, skill and experience through
    |practice and education in a particular field.
    Anton, I *really* like the way you're thinking, man! A good definition is generally accepted - and agreeing on the definition is a prerequisite for starting any sensible discussion.

    However, in this case I'm afraid the dispute will focus on what constitutes
    a "broad and deep understanding and competence". Without any criteria for establishing that I'm afraid we're back to square one.

    Because the person in question can (and probably will) state that "your understanding and competence is neither broad nor deep enough".
    (Where "your" is the placeholder for the particular opponent he addresses
    at that particular moment - could be any of us).

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Marcel Hendrix@21:1/5 to Hans Bezemer on Fri Feb 10 10:18:21 2023
    On Friday, February 10, 2023 at 3:05:37 PM UTC+1, Hans Bezemer wrote:
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    [..]
    Because the person in question can (and probably will) state that "your >understanding and competence is neither broad nor deep enough".

    One is not an expert by declaring to be one, but because *others*
    are of that opinion. That solves it.

    -marcel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Marcel Hendrix on Fri Feb 10 11:16:15 2023
    On Friday, February 10, 2023 at 7:18:23 PM UTC+1, Marcel Hendrix wrote:
    On Friday, February 10, 2023 at 3:05:37 PM UTC+1, Hans Bezemer wrote:
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    [..]
    Because the person in question can (and probably will) state that "your >understanding and competence is neither broad nor deep enough".
    One is not an expert by declaring to be one, but because *others*
    are of that opinion. That solves it.

    -marcel

    It's a bit post-modern, but by definition any criteria are chosen and hence profoundly arbitrary. I can live with it. Now, can we start the roasting? ;-)

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Fri Feb 10 12:49:44 2023
    I discovered today SmithForth https://dacvs.neocities.org/SF/ https://www.youtube.com/watch?v=a1UWxa2g9Us

    Maybe this one will be nicer host for „novice package”? Not examined it yet, though.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Hans Bezemer on Fri Feb 10 23:10:58 2023
    Hans Bezemer <the.beez.speaks@gmail.com> writes:
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    BTW what makes a programming expert?
    From <https://en.wikipedia.org/wiki/Expert>:

    |An expert is somebody who has a broad and deep understanding and
    |competence in terms of knowledge, skill and experience through
    |practice and education in a particular field.
    ...
    However, in this case I'm afraid the dispute will focus on what constitutes
    a "broad and deep understanding and competence". Without any criteria for >establishing that I'm afraid we're back to square one.

    Considering the original issue, it's the manager of the project who
    has to decide if the project requires a programming expert on the
    team, and if so, who is competent enough to be the programming expert.
    Likewise for domain expertise.

    Those interested in programming expertise (and expertise in general)
    may find <https://norvig.com/21-days.html> interesting. My takeaway
    from that is that if you take, say, a mechanical engineer without
    programming background and let Elizabeth Rather teach them Forth for a
    few weeks, the ME will not be programming experts after that, no
    matter how good Elizabeth Rather teaches.

    This reminds me of the course "Roboter" (robots) I took as a CS
    student. The course was held from an ME group and there were ME
    students and CS students on the course. We got our grade (for four semester-hours, which typically takes 150 hours of work) by
    programming a robot in a BASIC-like language. My group consisted of
    two CS students (don't remember if we also had an ME student in the
    group, if so, he was not able to contribute), and we completed the
    task with little preparation in 2 hours (with a time limit of four),
    while the ME-only groups where having a much harder time, and I could
    see why it was a 4 semester-hour course for them. My guess is that
    this happened to be easy for the CS people, because the ME part was
    easy even for us, and the CS part was easy for us, but not for the ME
    students; if the task had been to do something that requires solving
    some more involved ME problem and a bit of easy programming, the table
    would have been reversed.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Sat Feb 11 12:20:24 2023
    On 11/02/2023 10:10 am, Anton Ertl wrote:
    Hans Bezemer <the.beez.speaks@gmail.com> writes:
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    BTW what makes a programming expert?
    From <https://en.wikipedia.org/wiki/Expert>:

    |An expert is somebody who has a broad and deep understanding and
    |competence in terms of knowledge, skill and experience through
    |practice and education in a particular field.
    ...
    However, in this case I'm afraid the dispute will focus on what constitutes >> a "broad and deep understanding and competence". Without any criteria for
    establishing that I'm afraid we're back to square one.

    Considering the original issue, it's the manager of the project who
    has to decide if the project requires a programming expert on the
    team, and if so, who is competent enough to be the programming expert. Likewise for domain expertise.

    Yes but one can't 'dial an expert'. Even Marcel's reputation-based
    expertise is risky if it's not first-hand knowledge. How many boards of companies have come unstuck because they chose a CEO based on reputation. Cultivating reputation is one of the oldest tricks. There was a case
    several years ago of an expert (medical IIRC) whose reputation derived
    entirely from publishing papers in journals. So many of them that his
    name was on everyone's lips. Problem was it was all smoke and mirrors.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to the.beez.speaks@gmail.com on Sat Feb 11 09:42:43 2023
    In article <c6683797-07da-40eb-9007-d0f92b686cccn@googlegroups.com>,
    Hans Bezemer <the.beez.speaks@gmail.com> wrote:
    On Friday, February 10, 2023 at 11:21:43 AM UTC+1, Anton Ertl wrote:
    dxforth <dxf...@gmail.com> writes:
    BTW what makes a programming expert?
    From <https://en.wikipedia.org/wiki/Expert>:

    |An expert is somebody who has a broad and deep understanding and
    |competence in terms of knowledge, skill and experience through
    |practice and education in a particular field.
    Anton, I *really* like the way you're thinking, man! A good definition is >generally accepted - and agreeing on the definition is a prerequisite for >starting any sensible discussion.

    However, in this case I'm afraid the dispute will focus on what constitutes
    a "broad and deep understanding and competence". Without any criteria for >establishing that I'm afraid we're back to square one.

    You buy a dictionary, that is words defined with the help of other words.
    There is no going around that.

    <SNIP>

    Hans Bezemer


    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to none albert on Sat Feb 11 03:46:26 2023
    On Saturday, February 11, 2023 at 9:42:46 AM UTC+1, none albert wrote:
    However, in this case I'm afraid the dispute will focus on what constitutes >a "broad and deep understanding and competence". Without any criteria for >establishing that I'm afraid we're back to square one.
    You buy a dictionary, that is words defined with the help of other words. There is no going around that.

    It's true that dictionaries and encyclopedias are a good source for well-established
    and generally accepted definitions. The object of a good definition is to make the
    distinction between "this is one and this is not one". We have to accept though that
    outside the realm of science lots of concepts have a loose meaning - and are consequently used quite loosely. Dictionaries reflect that.

    Definitions can be classified in three ways (in order of diminishing strength): - An intensional definition lists the necessary properties of of a concept. In other
    words, you have to tick a number of boxes. In other words: all the members of this
    set share the same properties;
    - An extensional definition lists ALL members of that set by their identifiers; - An ostensive definition lists one or more members of that set. Also called "definition
    by pointing".

    The definition of the expert listed is intensional - it lists the properties of members of
    this set. The problem of intensional definitions is that you may introduce concepts
    that have to be defined by themselves. In this case: what constitutes "broad and deep
    understanding and competence"? Since that remains undefined we have a possible source of discussion. And now the ugly face of the "loose meanings" rises its head.

    You may have an entirely different concept of what "broad and deep understanding
    and competence" than I do. I once had a problem with the optimizer of MariaDB. I'd
    gotten all the EXPLAIN dumps and I couldn't figure out why it behaved like that. "No
    problem" a co-worker said "We got this guy coming in and he knows EVERYTHING about MariaDB. He's really a top expert."

    So the guy came in, I explained the problem to him, showed him the dumps and he sighed "This is way, way over my head". Well, I don't consider myself to be anywhere
    near an expert on SQL-DBs, since I know there are guys who are better. And in my
    rulebook, if I know someone who is better than me, I don't consider myself to be an
    expert. But opinions differ ;-)

    And that's why it's hard to classify anyone or anything with any confidence without ironclad criteria.

    Psychologists hate me. I'm unable to make any of their tests without bombarding them with questions they cannot answer. If even you don't know, how can I ever answer them with any confidence. If you require me to "guess" all I need is a dice.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Sun Feb 12 00:25:55 2023
    On 11/02/2023 10:46 pm, Hans Bezemer wrote:

    Psychologists hate me. I'm unable to make any of their tests without bombarding
    them with questions they cannot answer. If even you don't know, how can I ever
    answer them with any confidence. If you require me to "guess" all I need is a dice.

    Why should they hate you - did you imagine you beat them? :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to dxforth on Sat Feb 11 07:17:00 2023
    On Saturday, February 11, 2023 at 2:25:57 PM UTC+1, dxforth wrote:
    Psychologists hate me. I'm unable to make any of their tests without bombarding
    them with questions they cannot answer. If even you don't know, how can I ever
    answer them with any confidence. If you require me to "guess" all I need is a dice.
    Why should they hate you - did you imagine you beat them? :)

    Psychologists hate anything that exposes them as a "cargo cult science". Ask Feynman.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Hans Bezemer on Sat Feb 11 15:44:41 2023
    On Saturday, February 11, 2023 at 4:46:28 AM UTC-7, Hans Bezemer wrote:
    On Saturday, February 11, 2023 at 9:42:46 AM UTC+1, none albert wrote:
    However, in this case I'm afraid the dispute will focus on what constitutes
    a "broad and deep understanding and competence". Without any criteria for >establishing that I'm afraid we're back to square one.
    You buy a dictionary, that is words defined with the help of other words. There is no going around that.
    It's true that dictionaries and encyclopedias are a good source for well-established
    and generally accepted definitions. The object of a good definition is to make the
    distinction between "this is one and this is not one". We have to accept though that
    outside the realm of science lots of concepts have a loose meaning - and are consequently used quite loosely. Dictionaries reflect that.

    Definitions can be classified in three ways (in order of diminishing strength):
    - An intensional definition lists the necessary properties of of a concept. In other
    words, you have to tick a number of boxes. In other words: all the members of this
    set share the same properties;
    - An extensional definition lists ALL members of that set by their identifiers;
    - An ostensive definition lists one or more members of that set. Also called "definition
    by pointing".

    The definition of the expert listed is intensional - it lists the properties of members of
    this set. The problem of intensional definitions is that you may introduce concepts
    that have to be defined by themselves. In this case: what constitutes "broad and deep
    understanding and competence"? Since that remains undefined we have a possible
    source of discussion. And now the ugly face of the "loose meanings" rises its head.

    The silence from Stephen Pelc is deafening!
    He isn't going to fix the bug (or bugs) in VFX that prevent VFX from compiling ANS-Forth code. His bug specifically hits my early-binding MACRO: that I was able to
    write in ANS-Forth. Everybody else, including him, have failed. I only succeeded
    because I had my disambiguifiers to fix the problem in ANS-Forth of FIND not working.
    Now my heavy use of POSTPONE no longer works under VFX, although it did work previously, and it still works under SwiftForth. This is why Stephen Pelc introduced
    the POSTPONE bug into VFX.

    In comp.lang.forth, any thread that involves technical issues related to Forth will
    quickly get hijacked by pseudo-intellectual blither-blather. The comp.lang.forth trolls
    enjoy debates that allow them to represent themselves as big programming experts
    without requiring them to do any programming. This debate on the definition
    of 'expert' is pretty typical of comp.lang.forth. By debating the definition of 'expert'
    the trolls presume that they are experts (how would a troll know what an expert is
    without being an expert?). Presumably the purpose of this discussion is to conclude
    that I'm not an expert. Defeated again! Bugs remain in VFX and Stephen Pelc wins!
    "And now the ugly face of the 'loose meanings' rises its head." lol

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Sun Feb 12 18:50:07 2023
    On 12/02/2023 2:17 am, Hans Bezemer wrote:
    On Saturday, February 11, 2023 at 2:25:57 PM UTC+1, dxforth wrote:
    Psychologists hate me. I'm unable to make any of their tests without bombarding
    them with questions they cannot answer. If even you don't know, how can I ever
    answer them with any confidence. If you require me to "guess" all I need is a dice.
    Why should they hate you - did you imagine you beat them? :)

    Psychologists hate anything that exposes them as a "cargo cult science". Ask Feynman.

    What profession doesn't lay claim to have 'science' behind it? It's a free pass to acceptance. It's the new God. It wasn't always so. I suspect we're conditioned to accept whatever society has told us to accept and science is currently it. I'm not against facts but most of our problems appear to be psychological ones for which science has no answer.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Hugh Aguilar on Sun Feb 12 11:06:43 2023
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!

    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing. :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Brian Fox on Sun Feb 12 13:28:47 2023
    On Sunday, 12 February 2023 at 19:06:45 UTC, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)

    As his facebook says:
    Managing Director at Microprocessor Engineering Ltd
    1982 to present.

    So, we all somehow missed his 40 years of MD of MPE.
    Belated congratulations from me anyway.

    And see his life in the South here https://www.facebook.com/stephen.pelc.7/about

    Is this comparable to the person who was fired from Testra
    probably about 40 years ago ...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Brian Fox on Sun Feb 12 13:58:59 2023
    On Sunday, February 12, 2023 at 3:06:45 PM UTC-4, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)

    Try to tell that to Jurgen!

    --

    Rick C.

    + Get 1,000 miles of free Supercharging
    + Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Brian Fox on Sun Feb 12 15:02:06 2023
    On Sunday, February 12, 2023 at 12:06:45 PM UTC-7, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)

    That isn't true.
    Stephen Pelc came out with this recent bug-ridden version of VFX.
    If he has time to come out with a new version, he has time to fix the bugs in it.
    He isn't fixing the bugs in VFX though, which means that he wants the bugs in VFX.

    I think that he put the bugs into VFX purposefully to sabotage my novice-package.
    I'm just glad that I never paid for the professional version of VFX, but continued
    using the free evaluation version. I can only imagine the anguish of MPE customers
    who paid good money for this bug-ridden VFX, only to be told that Stephen Pelc is retired in southern Spain and no longer considers Forth to be important.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Brian Fox on Mon Feb 13 12:54:36 2023
    On 13/02/2023 6:06 am, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!

    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)

    Not everyone is going to respond to an invitation to a show-down on main street! In a c.l.f. post (a few months ago?) Stephen said he would
    continue to maintain VFX despite the move to Spain. Based on an email
    reply I received from Stephen two weeks ago, he is still accepting bug
    reports. A recent post on the VFX forum suggests he may be currently
    busy migrating servers.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Hugh Aguilar on Sun Feb 12 23:30:28 2023
    On Sunday, 12 February 2023 at 23:02:08 UTC, Hugh Aguilar wrote:
    On Sunday, February 12, 2023 at 12:06:45 PM UTC-7, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)
    That isn't true.
    Stephen Pelc came out with this recent bug-ridden version of VFX.
    If he has time to come out with a new version, he has time to fix the bugs in it.
    He isn't fixing the bugs in VFX though, which means that he wants the bugs in VFX.

    I think that he put the bugs into VFX purposefully to sabotage my novice-package.
    I'm just glad that I never paid for the professional version of VFX, but continued
    using the free evaluation version. I can only imagine the anguish of MPE customers
    who paid good money for this bug-ridden VFX, only to be told that Stephen Pelc
    is retired in southern Spain and no longer considers Forth to be important.

    You are really a rather disturbed brain.
    It was rather nice when you stayed away from here.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to dxforth on Sun Feb 12 23:27:37 2023
    On Monday, 13 February 2023 at 01:54:37 UTC, dxforth wrote:
    On 13/02/2023 6:06 am, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!

    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)
    Not everyone is going to respond to an invitation to a show-down on main street! In a c.l.f. post (a few months ago?) Stephen said he would
    continue to maintain VFX despite the move to Spain. Based on an email
    reply I received from Stephen two weeks ago, he is still accepting bug reports. A recent post on the VFX forum suggests he may be currently
    busy migrating servers.

    I find it laughable that an idiot here, called Hugh Aguilar,
    can throw shit at the company MPE for at least 10 years
    that I was here
    - and this is acceptable for many.

    MPE is one of the few Forth companies left and should be supported.
    MPE and the people there are not the only ones who moved out of the UK after Brexit.
    And Stephen described some of the reasons why anyway.
    And independent of this
    - MPE decides what they like. This is what you call a business.
    Rather than a plumber and taxi driver.

    And about bugs in a new version:
    tell me one software that had a new version out and no issues come up.

    And even if there is an issue regarding this package that nobody really uses - show your competence and sort it out.

    In these times when everything is in the media,
    on facebook and elsewhere:
    ONLY THE FORTKILLER HUGH AGUILAR HAS COME OUT WITH A POTENTIAL ISSUE.
    So, no issues anywhere else.
    I can only laugh and laugh.

    It looks like unintentional
    PAYBACK TIME FOR HIM AFTER THROWING SO MUCH SHIT AT ANYBODY HERE.
    AND EVERYBODY LIES ANYWAY if it does not fit..

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Jurgen Pitaske on Sun Feb 12 23:45:02 2023
    On Monday, February 13, 2023 at 3:30:30 AM UTC-4, Jurgen Pitaske wrote:
    On Sunday, 12 February 2023 at 23:02:08 UTC, Hugh Aguilar wrote:
    On Sunday, February 12, 2023 at 12:06:45 PM UTC-7, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)
    That isn't true.
    Stephen Pelc came out with this recent bug-ridden version of VFX.
    If he has time to come out with a new version, he has time to fix the bugs in it.
    He isn't fixing the bugs in VFX though, which means that he wants the bugs in VFX.

    I think that he put the bugs into VFX purposefully to sabotage my novice-package.
    I'm just glad that I never paid for the professional version of VFX, but continued
    using the free evaluation version. I can only imagine the anguish of MPE customers
    who paid good money for this bug-ridden VFX, only to be told that Stephen Pelc
    is retired in southern Spain and no longer considers Forth to be important.
    You are really a rather disturbed brain.
    It was rather nice when you stayed away from here.

    It's nice when people like you don't respond. You talk about others being monkeys throwing shit, then you pick it up and throw it around some more.

    --

    Rick C.

    -- Get 1,000 miles of free Supercharging
    -- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Sun Feb 12 23:40:59 2023
    On Sunday, February 12, 2023 at 12:44:43 AM UTC+1, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    He isn't going to fix the bug (or bugs) in VFX that prevent VFX from compiling
    ANS-Forth code.
    Did anyone ever tell you you are like a broken record player? You return to the same
    issue over and over again without adding any additional arguments like some entitled
    princess complaining the Porsche 911 she got from daddy for her sixteenth birthday
    doesn't have the right shade of pink. By your own admission - you're not even a paying
    customer.

    In comp.lang.forth, any thread that involves technical issues related to Forth will
    quickly get hijacked by pseudo-intellectual blither-blather.
    As a matter of fact, it's just stuff from a freshman's textbook. Quite basic. It's relevant
    for e.g. setting up a language standard like ANS Forth - so it becomes as unambiguous
    as possible. That you don't understand it and is hence unimportant is just a fallacy of
    incredulity - and frankly, quite insulting to the people who built this knowledge and use
    it on a daily basis in their professional work.

    The comp.lang.forth trolls
    enjoy debates that allow them to represent themselves as big programming experts
    without requiring them to do any programming.
    Well, given the number of vicious "ad hominem" from your side, I would like to reconsider
    who the troll is here. And frankly, if that's all you have to discuss here, I'd be happy to
    see a c.l.f. without you. Because besides these attacks, you seem to have very little to
    contribute.

    What's the last time you posted some interesting code here? Apart from your brilliant
    "NOVICE" package that nobody seems to be using. You know, no matter hoe smart you
    are, no matter how clever your code is, the bottom line is, code is only valuable when it
    is used.

    Now let's put forward some of the things people have done here:
    (1) They wrote their own compiler;
    (2) They voted on extensions to the standard;
    (3) They submitted extensions to the standard;
    (4) They wrote (parts of) the standard;
    (5) They contributed code to this forum;
    (6) They wrote articles on Forth;
    (7) They wrote papers on Forth;
    (8) They wrote tutorials on Forth;
    (9) They made presentations on Forth;
    (10) They are respected by their peers for their knowledge.

    So Hugh, how many boxes do you tick? And what makes you assume that you are an expert on Forth - or are entitled to bear that title proudly among your peers? What
    have you actually contributed to the world?

    Presumably the purpose of this discussion is to conclude that I'm not an expert.
    You can presume all you want. That doesn't mean that it's true. The point is, you
    maneuvered yourself there by insisting that the label "expert" is important. That
    means you're probably very dependent on the opinions of the people you are consistently antagonizing.

    I'm not. I don't care what you or others think. I never have. I'm merely having fun in
    what I'm doing - and have been doing so for the last 30 years - and whatever you think,
    it has no relevance in my life, because it won't make me change my ways. Not in the
    slightest. If that had been of any importance to me I would have stopped doing it
    for years.

    You on the other hand, are craving for attention and recognition. You're screaming
    for it from the top of your lungs.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Lorem Ipsum on Sun Feb 12 23:52:18 2023
    On Monday, February 13, 2023 at 8:45:04 AM UTC+1, Lorem Ipsum wrote:
    It's nice when people like you don't respond. You talk about others being monkeys
    throwing shit, then you pick it up and throw it around some more.
    Define "people like me". I always thought I was an individual with a unique set of skills, ideas and character traits.

    So If I have to inform my peers, I'd better know which are the characteristics of
    the group I have to inform of this new set of rules.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Lorem Ipsum on Mon Feb 13 00:27:22 2023
    On Monday, 13 February 2023 at 07:45:04 UTC, Lorem Ipsum wrote:
    On Monday, February 13, 2023 at 3:30:30 AM UTC-4, Jurgen Pitaske wrote:
    On Sunday, 12 February 2023 at 23:02:08 UTC, Hugh Aguilar wrote:
    On Sunday, February 12, 2023 at 12:06:45 PM UTC-7, Brian Fox wrote:
    On Saturday, February 11, 2023 at 6:44:43 PM UTC-5, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    Maybe it has something to do with the fact the Stephen has retired to the south of Spain.
    There can come a time in ones life where Forth is not the most important thing.
    :-)
    That isn't true.
    Stephen Pelc came out with this recent bug-ridden version of VFX.
    If he has time to come out with a new version, he has time to fix the bugs in it.
    He isn't fixing the bugs in VFX though, which means that he wants the bugs in VFX.

    I think that he put the bugs into VFX purposefully to sabotage my novice-package.
    I'm just glad that I never paid for the professional version of VFX, but continued
    using the free evaluation version. I can only imagine the anguish of MPE customers
    who paid good money for this bug-ridden VFX, only to be told that Stephen Pelc
    is retired in southern Spain and no longer considers Forth to be important.
    You are really a rather disturbed brain.
    It was rather nice when you stayed away from here.

    It's nice when people like you don't respond. You talk about others being monkeys throwing shit, then you pick it up and throw it around some more.


    --

    Rick C.

    -- Get 1,000 miles of free Supercharging
    -- Tesla referral code - https://ts.la/richard11209

    You are probably right.
    I really do admire the highly intelligent and inspring summary of your comments here in this thread:

    It is very regrettable though to see that 2 lines is the maximum you can produce.

    1
    Lorem Ipsum
    6 Feb 2023, 04:32:19 (7 days ago)
    Wow! I literally don't know what to say. Hugh makes a couple of posts, and all the other nut cases start their jabbering again.

    Sometimes I have to wonder about myself. I must be crazy to be any part of this nuthouse. I think I need to learn C++.

    2
    Lorem Ipsum
    unread,
    12 Feb 2023, 21:59:01 (10 hours ago)
    Try to tell that to Jurgen!

    Rick C.

    3
    It's nice when people like you don't respond. You talk about others being monkeys throwing shit, then you pick it up and throw it around some more.

    --

    Rick C.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Hans Bezemer on Fri Feb 17 19:53:11 2023
    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    On Sunday, February 12, 2023 at 12:44:43 AM UTC+1, Hugh Aguilar wrote:
    The silence from Stephen Pelc is deafening!
    He isn't going to fix the bug (or bugs) in VFX that prevent VFX from compiling
    ANS-Forth code.
    Did anyone ever tell you you are like a broken record player? You return to the same
    issue over and over again without adding any additional arguments like some entitled
    princess complaining the Porsche 911 she got from daddy for her sixteenth birthday
    doesn't have the right shade of pink. By your own admission - you're not even a paying
    customer.

    Stephen Pelc's VFX is failing to compile legal ANS-Forth code.
    See this page: https://www.mpeforth.com/software/pc-systems/vfx-forth-common-features/
    The liar Stephen Pelc describes VFX as: "ANS standard Forth with many extensions."
    If he is going to abandon ANS-Forth compliance, he should admit this publicly. Stop lying to his potential customers that VFX is ANS-Forth compliant.
    Anybody who paid for VFX should demand their money back because of Stephen Pelc's
    false and deceptive advertising.
    Stephen Pelc knows very little about ANS-Forth from a technical perspective, and he doesn't care because he wants VFX to be the only Forth system available.

    The comp.lang.forth trolls
    enjoy debates that allow them to represent themselves as big programming experts
    without requiring them to do any programming.

    Now let's put forward some of the things people have done here:
    (2) They voted on extensions to the standard;
    (3) They submitted extensions to the standard;
    (4) They wrote (parts of) the standard;
    (6) They wrote articles on Forth;
    (7) They wrote papers on Forth;
    (8) They wrote tutorials on Forth;
    (9) They made presentations on Forth;
    (10) They are respected by their peers for their knowledge.

    All of these are what I described above --- pseudo-intellectual blither-blather that allows the fake experts to represent themselves as big programming experts without requiring them to do any programming.

    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (1) They wrote their own compiler;

    Your 4TH is a byte-code VM written in C.
    This doesn't qualify you as a Forth expert --- you are a perpetual novice.

    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (5) They contributed code to this forum;

    All of the code posted on comp.lang.forth is crap.

    For example, we have Bernd Paysan's fake quotations that don't have access
    to the parent function's local variables.

    As another example, we have Anton Ertl's early-binding macro facility that lacks
    support for literal numbers or support for words that extract data from the input stream (words such as: [CHAR] ['] / ( S" C" ." ABORT" POSTPONE etc.).

    As yet another example, we have Wil Baden's string-stack.
    He doesn't know what COW (copy-on-write) is. You don't know either.
    Nobody on comp.lang.forth knows basic programming concepts such as this.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Sat Feb 18 07:13:51 2023
    On Saturday, February 18, 2023 at 4:53:13 AM UTC+1, Hugh Aguilar wrote:
    Stop lying to his potential customers that VFX is ANS-Forth compliant.
    You're not a paying customer, pal.

    Anybody who paid for VFX should demand their money back because of Stephen Pelc's
    false and deceptive advertising.
    Which automatically excludes you.

    Stephen Pelc doesn't care because he wants VFX to be the only Forth system available.
    With people like you - who don't write their own compiler - he MIGHT get there.

    All of these are what I described above --- pseudo-intellectual blither-blather
    that allows the fake experts to represent themselves as big programming experts
    without requiring them to do any programming.
    If you're not happy, make a better list, which may be objectively scored - and defend why
    it is a better list. I'm NOT getting an answer here, I know it.

    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (1) They wrote their own compiler;
    Your 4TH is a byte-code VM written in C.
    Yes - and you didn't produce anything at all in that regard. I win!

    For example, we have Bernd Paysan's fake quotations that don't have access
    to the parent function's local variables.
    People who use local variables are sissies ;-)

    As yet another example, we have Wil Baden's string-stack.
    You got three string stacks of mine as well.

    He doesn't know what COW (copy-on-write) is. You don't know either.
    I know that overcomplicating code is your personal hobby.

    Ok, I've been throwing around enough insults today. I feel rejuvenated, like I'm back
    in the schoolyard again. Your turn!

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Mon Feb 20 12:58:44 2023
    On 18/02/2023 2:53 pm, Hugh Aguilar wrote:
    ...
    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (5) They contributed code to this forum;

    All of the code posted on comp.lang.forth is crap.

    For example, we have Bernd Paysan's fake quotations that don't have access
    to the parent function's local variables.

    As another example, we have Anton Ertl's early-binding macro facility that lacks
    support for literal numbers or support for words that extract data from the input stream (words such as: [CHAR] ['] / ( S" C" ." ABORT" POSTPONE etc.).

    As yet another example, we have Wil Baden's string-stack.
    He doesn't know what COW (copy-on-write) is. You don't know either.
    Nobody on comp.lang.forth knows basic programming concepts such as this.

    Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    : ~# ( Da -- Db ) \ needs ~#SOFT set
    0 10 um/mod >r 10 um/mod r> rot
    ~#soft if
    dup if false to ~#soft else drop exit then
    then
    [char] 0 + hold ;

    pi 15 0 <scientific> type 3.14159265358979 ok

    Previously:

    pi 15 0 <scientific> type INTEGER_OVERFLOW at 004998D6 ~# +39
    Registers Dstack esp+ Rstack
    EAX E76A2483 00011DB9 0000 00499F80 <scientific> +785
    EBX 0000000A E76A2483 0004 7FFFFFF2
    ECX 0000002C 00011DB9 0008 8000000F
    EDX 00011DB9 E76A2483 000C 00439DEC <<locals>> 4
    ESI 00422814 00368000 0028 0041D1B7 WORD-INTERPRETER +24
    EDI 00414000 76B300F9 002C 0041D248 (INTERPRETING) +73
    EBP 0019FF60 00368000 0030 0041D36B INTERPRET +28
    ESP 00197EF0 76B300E0 0034 0041D4DF (QUIT) +16
    EFL 00210206 0019FFDC 0038 0041530F CATCH +64
    EIP 004998D6 77E17BBE 003C 00197F2C
    00368000 0040 00414000
    995A2255 0044 00422814 %SwiftForth\src\kernel\win32\start.f +9
    00000000 0048 0019FF70
    00000000 004C 00000000
    00368000 0050 00000000
    00000000 0054 00000000
    00000000 0058 00000000
    00000000 005C 00467884 SIMPLE-GUI +5
    00000000 0060 00424E54 %SwiftForth\src\kernel\win32\start.f +9801
    00000000 0064 FFFF037F

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Mon Feb 20 14:10:17 2023
    On Sunday, February 19, 2023 at 6:58:45 PM UTC-7, dxforth wrote:
    On 18/02/2023 2:53 pm, Hugh Aguilar wrote:
    ...
    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (5) They contributed code to this forum;

    All of the code posted on comp.lang.forth is crap.

    For example, we have Bernd Paysan's fake quotations that don't have access to the parent function's local variables.

    As another example, we have Anton Ertl's early-binding macro facility that lacks
    support for literal numbers or support for words that extract data from the input stream (words such as: [CHAR] ['] / ( S" C" ." ABORT" POSTPONE etc.).

    As yet another example, we have Wil Baden's string-stack.
    He doesn't know what COW (copy-on-write) is. You don't know either.
    Nobody on comp.lang.forth knows basic programming concepts such as this.
    Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.
    I would appreciate it if you keep your advice to yourself, smirking troll!

    The bottom line is that Stephen Pelc advertises VFX as being ANS-Forth compliant, but VFX fails to compile ANS-Forth code.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Tue Feb 21 13:16:35 2023
    On 21/02/2023 9:10 am, Hugh Aguilar wrote:
    On Sunday, February 19, 2023 at 6:58:45 PM UTC-7, dxforth wrote:
    On 18/02/2023 2:53 pm, Hugh Aguilar wrote:
    ...
    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote:
    (5) They contributed code to this forum;

    All of the code posted on comp.lang.forth is crap.

    For example, we have Bernd Paysan's fake quotations that don't have access >>> to the parent function's local variables.

    As another example, we have Anton Ertl's early-binding macro facility that lacks
    support for literal numbers or support for words that extract data from the >>> input stream (words such as: [CHAR] ['] / ( S" C" ." ABORT" POSTPONE etc.). >>>
    As yet another example, we have Wil Baden's string-stack.
    He doesn't know what COW (copy-on-write) is. You don't know either.
    Nobody on comp.lang.forth knows basic programming concepts such as this.
    Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.

    You had 14 years to figure it out.

    The bottom line is that Stephen Pelc advertises VFX as being ANS-Forth compliant, but VFX fails to compile ANS-Forth code.

    Bottom line is Stephen accepts bug reports and even corrections. That's more than can be said of certain drama queens.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to dxforth on Tue Feb 21 00:31:22 2023
    On Tuesday, February 21, 2023 at 3:16:38 AM UTC+1, dxforth wrote:
    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.
    You had 14 years to figure it out.
    Well, the "maintenance programmer" has his own Forth compiler. The "maintenance programmer" wrote lots of code (most significantly in number representation) that
    are thankfully used by lots of people in the Forth community. If that is the difference
    between and "expert" and a "maintenance programmer", I take the "maintenance programmer" every time.

    You see, Hugh, in my world I don't actually care what other people think of people,
    what education they have or how many years they spend in the field. I only care for the crafts and knowledge they bring to the table.

    And that's the bottom line. You'd probably do a great job as chairman of the board.
    They don't get a lot of work done either, but they compensate that by (bad) talking
    a LOT!

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to hughaguilar96@gmail.com on Tue Feb 21 13:29:46 2023
    In article <c71eeceb-54f8-4ab1-9497-e52a4693a704n@googlegroups.com>,
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:
    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.

    In the 40 years I have worked with all kind of industries, the truth
    is you have to build on work of others 80% of the time.
    I guess I am a 80% maintenance programmer.

    Small wonder that you can't find a job with such attitude.

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Tue Feb 21 08:33:13 2023
    On Monday, February 20, 2023 at 7:16:38 PM UTC-7, dxforth wrote:
    On 21/02/2023 9:10 am, Hugh Aguilar wrote:
    On Sunday, February 19, 2023 at 6:58:45 PM UTC-7, dxforth wrote:
    On 18/02/2023 2:53 pm, Hugh Aguilar wrote:
    ...
    On Monday, February 13, 2023 at 12:41:01 AM UTC-7, Hans Bezemer wrote: >>>> (5) They contributed code to this forum;

    All of the code posted on comp.lang.forth is crap.

    For example, we have Bernd Paysan's fake quotations that don't have access
    to the parent function's local variables.

    As another example, we have Anton Ertl's early-binding macro facility that lacks
    support for literal numbers or support for words that extract data from the
    input stream (words such as: [CHAR] ['] / ( S" C" ." ABORT" POSTPONE etc.).

    As yet another example, we have Wil Baden's string-stack.
    He doesn't know what COW (copy-on-write) is. You don't know either.
    Nobody on comp.lang.forth knows basic programming concepts such as this. >> Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.
    You had 14 years to figure it out.
    The bottom line is that Stephen Pelc advertises VFX as being ANS-Forth compliant, but VFX fails to compile ANS-Forth code.
    Bottom line is Stephen accepts bug reports and even corrections. That's more than can be said of certain drama queens.

    Here is another bug in VFX:
    --------------------------------------
    : ttt ( n -- ) 0 <# #S #> ; ok

    1234567890 ttt 2dup type 1234567890 ok-2
    2dup type 1234567892 ok-2
    --------------------------------------

    I told Stephen Pelc about this bug many years ago. He never fixed it.
    He is stupidly using <# #> internally to print the stack depth (the "ok-2").
    <# #> uses a static global pad. So, the string returned by TTT gets over-written.
    The next time that I TYPE this string it has been over-written by the '2'. Stephen Pelc doesn't care about fixing bugs --- he just considers VFX to be
    a cash cow that can be milked forever, with no further effort on his part.

    As far back as 1984 when I first learned Forth on the Vic-20 (HES Forth),
    I was aware of the problem with using global variables such as the <# #> pad
    or PAD etc.. In those days, Forth was still taken seriously. It was possible to find Forth programmers just by speaking to any driver with the bumper sticker: "Forth love if honk then"
    I pointed out to a college student at Isla Vista the problem with Forth-83 storing temporary data in PAD and the <# #> pad that are global. He said that the Vic-20 had only 5KB of RAM available, so this kludge was necessary. He also said that Forth-83 had a lot of known problems, but these problems would be fixed
    in the upcoming Forth standard. What I didn't know at the time (most likely he and the
    rest of the Forth community didn't know either), was that Charles Moore had been
    kicked out of Forth Inc. in 1982, leaving Elizabeth Rather in charge. All of the bugs
    in the Forth-83 standard are there because Elizabeth Rather is a typical maintenance
    programmer who tries to keep old software going forever despite not understanding
    how the software works. She didn't understand that Charles Moore made the <# #> pad and PAD static globals because he was programming a 1970s vintage computer with only a few KB of RAM and/or because he was programming an application under
    a deadline and didn't have time to do the job right. Gross ignorance of basic programming
    is why she put this bad idea in Forth-83. Her Forth-83 standard was just an effort to declare
    PolyForth to be the standard. She knew nothing about Forth programming!

    I been told in 1984 that a new Forth standard would soon arrive to fix the many known problems in Forth-83. ANS-Forth finally arrived in 1994. Elizabeth Rather was still
    in charge, and so ANS-Forth had all of the same problems as Forth-83, plus a raft of
    new problems (ANS-Forth was ambiguous about almost everything, and FIND didn't work anymore). The only purpose of ANS-Forth was to declare UR/Forth to be non-standard and kill UR/Forth despite the fact that it was the flagship of Forth.
    Elizabeth Rather assumed that when UR/Forth was killed, the legions of UR/Forth programmers would cheerfully switch to Forth Inc., despite the fact that SwiftForth
    hadn't been written yet due to Forth Inc. not employing any Forth programmers. What actually happened is that the legions of UR/Forth programmers switched to C.
    Eventually SwiftForth came out and it was a bug-ridden mess. Locals would crash SwiftForth as late as version-2 of SwiftForth. This bug didn't get caught because
    Elizabeth Rather said: "I hate locals! :-)" Also, ANS-Forth had LOCALS| rather than
    the de facto standard of { ... } developed at John Hopkins, and LOCALS| had the local names backwards so it was pretty much useless. Because of these problems nobody at Forth Inc. ever used locals and the bug in SwiftForth locals didn't get noticed.
    A system crash should be easy to notice, but that slipped past the Forth Inc. geniuses.

    Now we have Forth-200x that Ilya describe as being the galvanized corpse of ANS-Forth.
    ANS-Forth was just an effort to standardize Charles Moore's MicroForth written for
    the PDP-11 that had an extreme shortage of registers. So, Forth-200x represents the
    state of the art in Forth programming as done by Charles Moore in the 1970s. Dolly isn't the only sheep that has ever been cloned! We have Forth-200x too!

    Anyway, getting back to Stephen Pelc's stupid bug in <# #> shown above, I fixed this
    myself many years ago. I have a circular buffer for strings. I got this idea from
    UR/Forth. I wrote it from scratch though because I don't use other people's code.
    I rewrote <# #> etc. to use this circular string-buffer. I also rewrote WORD to use this
    circular string-buffer. Also, C" and S" in interpretive mode use this circular buffer.
    This doesn't totally fix the problem because the circular buffer eventually wraps around,
    but it fixes the problem at a practical level. It is best to move these strings to the heap
    with HSTR if they are to be kept permanently, but if they are only going to be used
    temporarily they can stay in the circular buffer because it doesn't wrap around for
    quite some time. Now I have my STRING-STACK.4TH though, that holds all of its strings in the heap indefinitely, so my circular string-buffer is deprecated.

    Stephen Pelc almost never fixes bugs.
    I reported another bug in VFX in which he was using word-lists for local variable names,
    which screwed up any use of word-lists in words that had local variables.
    I fixed this myself too by rewriting all of the word-list code in ANS-Forth. Eventually Stephen Pelc fixed the bug in VFX with a lot of grumbling.
    He doesn't care about ANS-Forth compliance. He doesn't know anything about ANS-Forth.
    He just wants VFX to be a cash cow with little or no effort on his part.

    Stephen Pelc is never going to fix this bug in POSTPONE LITERAL that I'm pointing out.
    I think that he inserted this bug into VFX purposefully to sabotage my novice-package.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Wed Feb 22 11:40:45 2023
    On 22/02/2023 3:33 am, Hugh Aguilar wrote:

    Here is another bug in VFX:
    --------------------------------------
    : ttt ( n -- ) 0 <# #S #> ; ok

    1234567890 ttt 2dup type 1234567890 ok-2
    2dup type 1234567892 ok-2
    --------------------------------------

    I told Stephen Pelc about this bug many years ago. He never fixed it.
    He is stupidly using <# #> internally to print the stack depth (the "ok-2"). <# #> uses a static global pad. So, the string returned by TTT gets over-written.
    The next time that I TYPE this string it has been over-written by the '2'.

    I have exactly this 'bug' in DX-Forth which now automatically displays
    stack contents. ANS states data in the numeric output buffer is temporary
    and subject to being overwritten. It's been this way for over 50 years
    and countless applications. I like the idea forth is respectful of
    resources. It encourages users to be similarly thoughtful.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Wed Feb 22 10:34:55 2023
    dxforth <dxforth@gmail.com> writes:
    On 22/02/2023 3:33 am, Hugh Aguilar wrote:

    Here is another bug in VFX:
    --------------------------------------
    : ttt ( n -- ) 0 <# #S #> ; ok

    1234567890 ttt 2dup type 1234567890 ok-2
    2dup type 1234567892 ok-2
    --------------------------------------
    ...
    I have exactly this 'bug' in DX-Forth

    Buggery loves company?

    There are systems without this bug:

    SwiftForth i386-Linux 3.11.0 23-Feb-2021
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok

    Gforth 0.7.9_20230209
    ...
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok 2
    2dup type 1234567890 ok 2

    OTOH:
    SwiftForth x64-Linux 4.0.0-RC52 20-Sep-2022
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567811 ok

    (I have not checked more recent RCs).

    ANS states data in the numeric output buffer is temporary
    and subject to being overwritten.

    No. What Forth-94 and Forth-2012 state is:

    |The data space regions identified by PAD, WORD, and #> (the pictured
    |numeric output string buffer) may be transient. Their addresses and
    |contents may become invalid after:
    |
    | * a definition is created via a defining word;
    | * definitions are compiled with : or :NONAME;
    | * data space is allocated using ALLOT, , (comma), C, (c-comma), or ALIGN.
    |
    |The previous contents of the regions identified by WORD and #> may be
    |invalid after each use of these words. Further, the regions returned
    |by WORD and #> may overlap in memory. Consequently, use of one of
    |these words can corrupt a region returned earlier by a different
    |word. The other words that construct pictured numeric output strings
    |(<#, #, #S, HOLD, HOLDS, XHOLD) may also modify the contents of these |regions. Words that display numbers may be implemented using pictured
    |numeric output words. Consequently, . (dot), .R, .S, ?, D., D.R, U.,
    |U.R could also corrupt the regions.

    None of these conditions happened here. Some may argue that the
    system may use one of the words that may overwrite the pictured
    numeric output string buffer internally at any place, but that would
    mean that the standard gives no guarantee at all about the contents of
    the buffer, which would make <# # #S HOLD #> etc. unusable in standard programs; standardizing these words would make no sense.

    So, the conclusion is that the second TYPE in the example above must
    output 1234567890 on a standard system with a large-enough cell size.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Wed Feb 22 22:37:08 2023
    On 22/02/2023 9:34 pm, Anton Ertl wrote:
    ...
    There are systems without this bug:

    It's not a bug to print a number as part of the QUIT loop. It's an entitlement.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Anton Ertl on Wed Feb 22 12:04:18 2023
    anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
    SwiftForth x64-Linux 4.0.0-RC52 20-Sep-2022
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567811 ok

    I tried to reproduce this for a bug report, but now every time I input

    : ttt ( n -- ) 0 <# #S #> ;
    1234567890 ttt 2dup type
    2dup type

    I get

    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok

    Strange.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Heinrich Hohl@21:1/5 to All on Wed Feb 22 04:43:54 2023
    SwiftForth also had this bug (or peculiarity) for some time.
    It was fixed in SwiftForth-3.7.1 (13-Feb-2018).

    SF revision history: https://www.forth.com/swiftforth/revs/

    Henry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Anton Ertl on Wed Feb 22 08:37:24 2023
    On Wednesday, February 22, 2023 at 1:06:59 PM UTC+1, Anton Ertl wrote:
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok
    Strange.

    It's IMHO not strange. Obviously VFX uses the buffer to generate the number of stack items
    still remaining. Hence: 0 => 2 (that's the number that is generated).

    I don't know how Gforth does it, because it *seems* to use the same system:

    see prompt-ok
    : prompt-ok " ok"
    type depth
    ?DUP-IF space #0 dec.r
    THEN
    fdepth
    ?DUP-IF " f:" type #0 dec.r
    THEN
    rp0 @ rp@ - cell/ #-22 +
    ?DUP-IF " r:" type #0 dec.r
    THEN ; ok
    see dec.r
    : dec.r
    base @ >r decimal .r r> base ! ; ok
    see .r
    : .r
    >r s>d r> d.r ; ok
    see d.r
    : d.r
    >r tuck dabs <<# #s rot sign #> r> over - spaces type #>> ; ok
    see <<#
    : <<#
    holdend @ holdptr @ - hold holdptr @ holdend ! ; ok

    1234567890 ttt 2dup . . 10 140514140281800 ok 2
    holdend ? holdptr ? 140514140281810 140514140281800 ok 2

    Maybe Anton can explain ;-)

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Hans Bezemer on Wed Feb 22 18:32:22 2023
    Hans Bezemer <the.beez.speaks@gmail.com> writes:
    On Wednesday, February 22, 2023 at 1:06:59 PM UTC+1, Anton Ertl wrote:
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok
    Strange.

    It's IMHO not strange.

    It's strange that my first test of SwiftForth 4.0.0 RC52 produced a
    wrong result, but I could not reproduce that behaviour later.

    Obviously VFX uses the buffer to generate the number of stack items
    still remaining. Hence: 0 => 2 (that's the number that is generated).

    I don't know how Gforth does it, because it *seems* to use the same system:

    Gforth supports nestable use of the HOLD area. From <https://gforth.org/manual/Formatted-numeric-output.html>:

    Gforth additionally supports nested usage of this buffer, allowing,
    e.g., to nest output from the debugging tracer ~~ inside code dealing
    with the hold area: <<# starts a new nest, #> produces the result
    string, and #>> unnests: the hold area for the nest is reclaimed, and
    now produces the string for the next-outer nest. All of Gforth’s
    higher-level numeric output words use <<# ... #> ... #>> and can be
    nested inside other users of the hold area.
    ...
    |<<# ( – ) gforth-0.5 “less-less-number-sign”
    |
    |Start a hold area that ends with #>>. Can be nested in each other and
    |in <#. Note: if you do not match up the <<#s with #>>s, you will
    |eventually run out of hold area; you can reset the hold area to empty
    |with <#.
    |
    ( xd – addr u ) core “number-sign-greater”
    |
    |Complete the pictured numeric output string by discarding xd and
    |returning addr u; the address and length of the formatted string. A
    |Standard program may modify characters within the string. Does not
    |release the hold area; use #>> to release a hold area started with
    |<<#, or <# to release all hold areas.
    |
    ( – ) gforth-0.5 “number-sign-greater-greater”
    |
    |Release the hold area started with <<#.
    |
    |Here are some examples of using pictured numeric output:
    |
    |: my-u. ( u -- )
    | \ Simplest use of pns.. behaves like Standard u.
    | 0 \ convert to unsigned double
    | <<# \ start conversion
    | #s \ convert all digits
    | #> \ complete conversion
    | TYPE SPACE \ display, with trailing space
    | #>> ; \ release hold area

    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Thu Feb 23 10:55:01 2023
    On 23/02/2023 5:32 am, Anton Ertl wrote:
    ...
    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    Looks more like an omission on the part of ANS than a bug. AT-XY
    definitely falls into the category of 'things that output numbers'.
    That no other system has picked up <<# .. #>> suggests they have
    other, perhaps simpler, ways of handling potential conflicts e.g.
    SYSPAD >QPAD >PAD to name but three.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to dxforth@gmail.com on Thu Feb 23 11:11:22 2023
    In article <tt6a0l$1ktpa$1@dont-email.me>, dxforth <dxforth@gmail.com> wrote: >On 23/02/2023 5:32 am, Anton Ertl wrote:
    ...
    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    Looks more like an omission on the part of ANS than a bug. AT-XY
    definitely falls into the category of 'things that output numbers'.
    That no other system has picked up <<# .. #>> suggests they have
    other, perhaps simpler, ways of handling potential conflicts e.g.
    SYSPAD >QPAD >PAD to name but three.

    There is a simple solution that make the problem goes way.
    Or rather it doesn't exist in the first place.

    I introduced the FORMAT tool comparable with the % tools of mpe forth.
    This carefully copies outputs of <# #> (here (D.R) ) to a static
    buffers of its own.
    This 1 screen tool has multiple uses (for e.g. defining classes).

    ( FORMAT FORMAT&EVAL .FORMAT ) \ AH&CH C2feb15
    DATA CRS$ 4096 ALLOT \ ":2" WANTED
    NAMESPACE FORMAT-WID FORMAT-WID DEFINITIONS
    : c CRS$ $C+ ; : n ^J c ; : r ^M c ; \ Add single char's
    : d S>D 0 (D.R) CRS$ $+! ; \ Add INT as a string.
    : s CRS$ $+! ; \ Add a STRING as such.
    PREVIOUS DEFINITIONS
    \ Format the first part of STRING, up till %, leave REST.
    : _plain &% $/ CRS$ $+! ;
    \ Format X with first word of STRING, up till BL, leave REST.
    : _format BL $/ 2SWAP >R >R 'FORMAT-WID >WID (FIND) NIP NIP
    DUP 0= 51 ?ERROR EXECUTE R> R> ;
    \ Format X1 .. Xn using the format STRING.
    : FORMAT 0 CRS$ ! BEGIN DUP WHILE _plain DUP IF _format THEN
    REPEAT 2DROP CRS$ $@ ;
    : FORMAT&EVAL FORMAT EVALUATE ; : .FORMAT FORMAT TYPE ;

    Using this wordset for AT-XY has no problems of the kind
    mentioned, e.g.
    : AT-XY 1+ SWAP 1+ SWAP "%e [%dd ;%dd H" .FORMAT ;

    You must be aware if any tools use static buffers.
    The strategy must be. If you don't use the buffer
    right away, you have to copy the string to an
    application buffer that is totally under your control.
    This equally applies to the <# # #S #> wordset of course.
    2DUP should wave a red flag, and you must expected it to
    fail if you're not careful.

    And if you wonder, there are other means to make a
    string permanent in ciforth
    "APEGAAR" $,
    possibly followed by >ALLOC that store a string in ALLOCATE d memory.

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to Anton Ertl on Thu Feb 23 10:38:52 2023
    In article <2023Feb22.113455@mips.complang.tuwien.ac.at>,
    Anton Ertl <anton@mips.complang.tuwien.ac.at> wrote:
    dxforth <dxforth@gmail.com> writes:
    On 22/02/2023 3:33 am, Hugh Aguilar wrote:

    Here is another bug in VFX:
    --------------------------------------
    : ttt ( n -- ) 0 <# #S #> ; ok

    1234567890 ttt 2dup type 1234567890 ok-2
    2dup type 1234567892 ok-2
    --------------------------------------
    ...
    I have exactly this 'bug' in DX-Forth

    Buggery loves company?

    There are systems without this bug:

    SwiftForth i386-Linux 3.11.0 23-Feb-2021
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok

    Gforth 0.7.9_20230209
    ...
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok 2
    2dup type 1234567890 ok 2
    <SNIP>
    None of these conditions happened here. Some may argue that the
    system may use one of the words that may overwrite the pictured
    numeric output string buffer internally at any place, but that would
    mean that the standard gives no guarantee at all about the contents of
    the buffer, which would make <# # #S HOLD #> etc. unusable in standard >programs; standardizing these words would make no sense.

    So, the conclusion is that the second TYPE in the example above must
    output 1234567890 on a standard system with a large-enough cell size.

    lina -a
    -1 1 RSHIFT 0 <# #S #> 2DUP
    OK
    TYPE
    9223372036854775807 OK
    TYPE
    9223372036854775807 OK

    ciforth passes this test. However ...
    if you ask ciforth to do DO-DEBUG i.e. to print its stack content
    with each ok, then it clobbers the static area.
    WANT DO-DEBUG

    S[ ] OK -1 1 RSHIFT 0 <# #S #>
    S[ 4256305 19 ] OK 2DUP TYPE
    9223372036854256319

    Makes sense, but how to assess this situation?

    - 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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Pelc@21:1/5 to All on Thu Feb 23 12:53:47 2023
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughaguilar96@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.

    Stephen

    --
    Stephen Pelc, stephen@vfxforth.com
    MicroProcessor Engineering, Ltd. - More Real, Less Time
    133 Hill Lane, Southampton SO15 5AF, England
    tel: +44 (0)23 8063 1441, +44 (0)78 0390 3612,
    +34 649 662 974
    http://www.mpeforth.com - free VFX Forth downloads

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to albert on Thu Feb 23 23:20:47 2023
    On 23/02/2023 9:11 pm, albert wrote:
    In article <tt6a0l$1ktpa$1@dont-email.me>, dxforth <dxforth@gmail.com> wrote:
    On 23/02/2023 5:32 am, Anton Ertl wrote:
    ...
    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    Looks more like an omission on the part of ANS than a bug. AT-XY
    definitely falls into the category of 'things that output numbers'.
    That no other system has picked up <<# .. #>> suggests they have
    other, perhaps simpler, ways of handling potential conflicts e.g.
    SYSPAD >QPAD >PAD to name but three.

    There is a simple solution that make the problem goes way.
    Or rather it doesn't exist in the first place.

    I introduced the FORMAT tool comparable with the % tools of mpe forth.
    This carefully copies outputs of <# #> (here (D.R) ) to a static
    buffers of its own.

    The formatter still alters the HOLD buffer by virtue of (D.R) - no?
    In which case the issue of AT-XY corrupting it remains.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Stephen Pelc on Thu Feb 23 06:49:30 2023
    On Thursday, February 23, 2023 at 7:53:49 AM UTC-5, Stephen Pelc wrote:

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.

    Stephen

    LOL. Very cute word name.
    I get verklempt just reading the directive "doNotSin"

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Brian Fox on Fri Feb 24 15:53:46 2023
    On 24/02/2023 1:49 am, Brian Fox wrote:
    On Thursday, February 23, 2023 at 7:53:49 AM UTC-5, Stephen Pelc wrote:

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require >> DONOTSIN.

    Stephen

    LOL. Very cute word name.
    I get verklempt just reading the directive "doNotSin"

    Wishful thinking.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Zbig@21:1/5 to All on Fri Feb 24 12:43:00 2023
    An upcoming version of VFX may/will use a different fix and will not require
    DONOTSIN.

    Stephen
    LOL. Very cute word name.

    SIN DROP would be more „Forthish”. ;]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Stephen Pelc on Fri Feb 24 21:07:54 2023
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.

    Stephen

    I made my novice-package fully ANS-Forth compliant.
    This was a sin???

    I use POSTPONE LITERAL a lot. For example, my early-binding MACRO: supports literal numbers (unlike Anton Ertl's attempt at writing an early-binding macro). I'm supposed to hunt down every use of POSTPONE LITERAL to apply this patch? What exactly are
    the rules for when the patch is needed? Is this any colon word that has POSTPONE LITERAL inside of it?

    Right now my MSP430 assembler has stopped working under VFX, although it had been working fine previously. All of my code that uses the novice package has stopped working under VFX.
    Continuing with VFX seems like a bad idea --- all that you have offered is the suggestion that I
    rewrite the novice package using this patch, and that someday you may fix this bug that you
    introduced in the latest VFX version, but no guarantee that there won't be new bugs introduced.

    Why did you introduce the bug?
    You knew that you were introducing a bug because you provided this DoNotSin patch
    to fix the bug. What purpose did the bug have other than to sabotage my novice package?
    Obviously, the "sin" that you were referring to was for anybody to use the novice package.
    Now you have been caught, so you have publicly described this DoNotSin patch, but you
    weren't planning on describing the bug-fix publicly --- you were hoping to not get caught.

    Only a fool would ever trust you again --- your credibility is gone --- you got caught!
    Your market base consists entirely of worms who squirm in verklempt at your "cute" tricks.
    You said:
    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.
    Are you planning on describing this bug fix publicly?
    More likely, you will provide the bug fix only to the verklempt worms --- your sycophants.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Sat Feb 25 17:20:23 2023
    On 25/02/2023 4:07 pm, Hugh Aguilar wrote:

    Are you planning on describing this bug fix publicly?
    More likely, you will provide the bug fix only to the verklempt worms --- your sycophants.

    When may we expect your fix for the f/p output bug in the novice pack?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Sat Feb 25 16:36:19 2023
    dxforth <dxforth@gmail.com> writes:
    On 23/02/2023 5:32 am, Anton Ertl wrote:
    ...
    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    Looks more like an omission on the part of ANS than a bug.

    Not to me.

    AT-XY
    definitely falls into the category of 'things that output numbers'.

    Probably depends on the environment. But anyway, given that the
    solution is as simple as using <<# and #>>, there is no reason for
    AT-XY to destroy the hold buffer.

    That no other system has picked up <<# .. #>> suggests they have
    other, perhaps simpler, ways of handling potential conflicts e.g.
    SYSPAD >QPAD >PAD to name but three.

    If they have found these ways, these ways seem to have the flaw that
    most of the system implementors don't use them. Otherwise we would
    not be discussing this issue.

    By contrast, I just used <<# .. #> .. #>> in all the system words
    that before had used <# .. #> .., and things work like a charm,
    without . Adding a stack depth indication in the status prompt did
    not require fiddling with >SYSPAD or something, as Hans Bezemer
    noticed.

    Your comments inspired me to test various systems on Linux with an
    xterm with

    page 456789. <# #s #> 1 2 at-xy type cr bye

    The PAGE and AT-XY seemed to work fine on all systems. The output at
    that position was:

    Gforth: 456789
    iforth: 456789
    lxf:
    sf64: 456782
    vfx64: 456782

    If lxf, sf64, or vfx64 use the other ways you suggest, they don't seem
    to work.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to albert@cherry. on Sat Feb 25 17:04:20 2023
    albert@cherry.(none) (albert) writes:
    lina -a
    -1 1 RSHIFT 0 <# #S #> 2DUP
    OK
    TYPE
    9223372036854775807 OK
    TYPE
    9223372036854775807 OK

    ciforth passes this test. However ...
    if you ask ciforth to do DO-DEBUG i.e. to print its stack content
    with each ok, then it clobbers the static area.
    WANT DO-DEBUG

    S[ ] OK -1 1 RSHIFT 0 <# #S #>
    S[ 4256305 19 ] OK 2DUP TYPE
    9223372036854256319

    Makes sense, but how to assess this situation?

    As far as the standard is concerned, the latter program is not a
    standard program because of "WANT DO-DEBUG", and it apparently turns
    the system into a non-standard system.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to albert@cherry. on Sat Feb 25 17:07:39 2023
    albert@cherry.(none) (albert) writes:
    I introduced the FORMAT tool comparable with the % tools of mpe forth.
    This carefully copies outputs of <# #> (here (D.R) ) to a static
    buffers of its own.
    This 1 screen tool has multiple uses (for e.g. defining classes).

    ( FORMAT FORMAT&EVAL .FORMAT ) \ AH&CH C2feb15
    DATA CRS$ 4096 ALLOT \ ":2" WANTED
    NAMESPACE FORMAT-WID FORMAT-WID DEFINITIONS
    : c CRS$ $C+ ; : n ^J c ; : r ^M c ; \ Add single char's
    : d S>D 0 (D.R) CRS$ $+! ; \ Add INT as a string.
    : s CRS$ $+! ; \ Add a STRING as such.
    PREVIOUS DEFINITIONS
    \ Format the first part of STRING, up till %, leave REST.
    : _plain &% $/ CRS$ $+! ;
    \ Format X with first word of STRING, up till BL, leave REST.
    : _format BL $/ 2SWAP >R >R 'FORMAT-WID >WID (FIND) NIP NIP
    DUP 0= 51 ?ERROR EXECUTE R> R> ;
    \ Format X1 .. Xn using the format STRING.
    : FORMAT 0 CRS$ ! BEGIN DUP WHILE _plain DUP IF _format THEN
    REPEAT 2DROP CRS$ $@ ;
    : FORMAT&EVAL FORMAT EVALUATE ; : .FORMAT FORMAT TYPE ;

    Using this wordset for AT-XY has no problems of the kind
    mentioned, e.g.
    : AT-XY 1+ SWAP 1+ SWAP "%e [%dd ;%dd H" .FORMAT ;

    For comparison:

    : <# ( -- ) \ core less-number-sign
    holdbuf-end dup holdptr ! holdend ! ;

    : #> ( xd -- addr u ) \ core number-sign-greater
    2drop holdptr @ holdend @ over - ;

    : <<# ( -- ) \ gforth less-less-number-sign
    holdend @ holdptr @ - hold
    holdptr @ holdend ! ;

    : #>> ( -- ) \ gforth number-sign-greater-greater
    count chars bounds holdptr ! holdend ! ;

    : #n ( n -- ) [: 0 #s 2drop ;] #10 base-execute ;
    : #n; ( n -- ) [: 0 #s 2drop ';' hold ;] #10 base-execute ;
    : #esc[ ( -- ) '[' hold #esc hold ;
    : vt100-at-xy ( u1 u2 -- ) \ facility at-x-y
    1+ swap 1+ <<# 'H' hold #n; #n #esc[ #0. #> type #>> ;

    You may wonder about #N #N; #ESC[, but they are used multiple times:

    2 #n
    11 #n;
    4 #esc[

    And while we are at it:

    9 <# (possibly some should be replaced with <<# ... #>>
    23 #>
    15 <<#
    15 #>>

    You must be aware if any tools use static buffers.
    The strategy must be. If you don't use the buffer
    right away, you have to copy the string to an
    application buffer that is totally under your control.

    Works great for lxf, SwiftForth and VFX.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to none albert on Sat Feb 25 15:26:25 2023
    On Tuesday, February 21, 2023 at 5:29:49 AM UTC-7, none albert wrote:
    In article <c71eeceb-54f8-4ab1...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I've never taken advice from a maintenance programmer, and I never will.
    I figure things out for myself.
    In the 40 years I have worked with all kind of industries, the truth
    is you have to build on work of others 80% of the time.
    I guess I am a 80% maintenance programmer.

    In my experience, there is no such thing as an 80% maintenance programmer. There are only 99.9% maintenance programmers. The require somebody smart
    to write 99.9% of the code, then they do 0.1% of the code and claim 99% credit.

    We had this insult flung at me earlier:
    On Sunday, February 19, 2023 at 6:58:45 PM UTC-7, dxforth wrote:
    Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    When DXforth says, "The remainder I leave to you," he is implying that he is to be
    credited with 99% of the novice package, and the remainder will be left to me. This is very typical for maintenance programmers, that they try to claim credit for 99% of the work. Any bugs found will be blamed on the original programmer. The original programmer is granted 1% of the credit so there will be a dumping ground for any bugs that are found.

    The liar Tom Hart said that MFX was written long before I showed up at
    Testra and that I had nothing to do with it. He was accusing me of being a soulless
    maintenance programmer who wrote 0.1% of the code and then tried to claim
    99% of the credit. He was lying. I will never forgive him for this lie.

    I can't associate with soulless maintenance programmers such as DXforth, Albert van der Horst, Hans Bezemer, etc.. This just gives Tom Hart the opportunity to say: "Birds of a feather stick together." Guilt by association!

    On Friday, February 24, 2023 at 11:20:26 PM UTC-7, dxforth wrote:
    On 25/02/2023 4:07 pm, Hugh Aguilar wrote:

    Are you planning on describing this bug fix publicly?
    More likely, you will provide the bug fix only to the verklempt worms --- your sycophants.
    When may we expect your fix for the f/p output bug in the novice pack?

    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized to have a copy of the novice package. If you have an old copy of the novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    Maintenance programmers don't deserve to be given source-code
    for the same reason that coyotes don't deserve to be given fresh meat.
    Let them eat rotten carrion --- that is what Gerry Jackson was doing when he put his copyright notice on Michael Gassenenko's SWITCH construct without understanding how it worked (most importantly, without understanding why
    it only does what my FAST-SWITCH> does but can not do what my SLOW-SWITCH>
    does for tables that have too large of a range to realistically be sparse tables).

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Sun Feb 26 12:11:55 2023
    On 26/02/2023 3:36 am, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 23/02/2023 5:32 am, Anton Ertl wrote:
    ...
    I introduced <<# .. #>> in response to a bug report (AT-XY destroyed
    the HOLD area) and posted on 1999-02-21 (24th anniversary yesterday)
    about it here. I also posted about this feature here later, with a
    total of 55 occurences in my postings, but AFAIK no system picked it
    up.

    Looks more like an omission on the part of ANS than a bug.

    Not to me.

    That's because you don't want to consider it.

    AT-XY
    definitely falls into the category of 'things that output numbers'.

    Probably depends on the environment. But anyway, given that the
    solution is as simple as using <<# and #>>, there is no reason for
    AT-XY to destroy the hold buffer.

    There's plenty of reason. AT-XY is a console output function that
    has all the implications of ...

    "Words that display numbers may be implemented using pictured numeric
    output words. Consequently, . (dot), .R, .S, ?, D., D.R, U., and U.R
    could also corrupt the regions."

    That you invented <<# and #>> is all very well but it's no reason to
    burden implementers with things they don't need to have or do. When
    you have a better rationale as to why AT-XY must not corrupt the HOLD
    buffer other than it wasn't included in the list above, let me know.

    ...
    Your comments inspired me to test various systems on Linux with an
    xterm with

    page 456789. <# #s #> 1 2 at-xy type cr bye

    The PAGE and AT-XY seemed to work fine on all systems. The output at
    that position was:

    Gforth: 456789
    iforth: 456789
    lxf:
    sf64: 456782
    vfx64: 456782

    If lxf, sf64, or vfx64 use the other ways you suggest, they don't seem
    to work.

    It's not possible to draw any conclusions of intent from such tests.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Sun Feb 26 15:54:42 2023
    On 26/02/2023 10:26 am, Hugh Aguilar wrote:
    On Tuesday, February 21, 2023 at 5:29:49 AM UTC-7, none albert wrote:
    In article <c71eeceb-54f8-4ab1...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I've never taken advice from a maintenance programmer, and I never will. >>> I figure things out for myself.
    In the 40 years I have worked with all kind of industries, the truth
    is you have to build on work of others 80% of the time.
    I guess I am a 80% maintenance programmer.

    In my experience, there is no such thing as an 80% maintenance programmer. There are only 99.9% maintenance programmers. The require somebody smart
    to write 99.9% of the code, then they do 0.1% of the code and claim 99% credit.

    We had this insult flung at me earlier:
    On Sunday, February 19, 2023 at 6:58:45 PM UTC-7, dxforth wrote:
    Speaking of code posted on c.l.f. Even a novice might baulk at a float-to-string
    routine that can't display numbers to the precision of the system. Then there's
    the limitation stemming from the use of F>D and the inability to handle INF/NAN.
    Here's a possible solution to the first problem. The remainder I leave to you.

    These are all known issues - the most obvious of which was easiest to resolve.

    When DXforth says, "The remainder I leave to you," he is implying that he is to be
    credited with 99% of the novice package, and the remainder will be left to me.

    If by your calculation two lines of code represents 99% of the novice package, then it must be very good code indeed.

    The liar Tom Hart said that MFX was written long before I showed up at
    Testra and that I had nothing to do with it.

    I don't believe I saw that among Tom's comments. What I read was:

    "He [Hugh] wrote our Forth compiler for the processor
    that we implemented in a Lattice PLD.

    He did a good job on it,
    we are still using it with a few bug fixes and minor modifications.

    He had nothing to do with the processor itself,
    that was all designed by John Hart and Steve Brault.

    The PLD version was based upon our original Forth Engine done long before
    we ever ran across Hugh"

    He was accusing me of being a soulless
    maintenance programmer who wrote 0.1% of the code and then tried to claim
    99% of the credit. He was lying. I will never forgive him for this lie.

    You seem to have confused his comments about MFX and his comments about the processor.

    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized
    to have a copy of the novice package. If you have an old copy of the novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    You released it under a BSD licence which only affords this:

    \ novice.4th --- written by Hugh Aguilar --- copyright (c) 2009, BSD license

    As long as you keep bringing up the contents of the novice pack in c.l.f. posts,
    folks will want to examine the code and the claims made in respect of it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to albert on Sun Feb 26 10:39:38 2023
    In article <nnd$1c7f76fe$0a06061c@701394006c4d786b>,
    none) (albert <albert@cherry.> wrote:
    In article <03da6e10-f1ee-47d0-898d-5463ca647b26n@googlegroups.com>,
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:
    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized
    to have a copy of the novice package. If you have an old copy of the
    novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    You can retroactively change the copyright conditions.
    Of course I meant "can't".
    If I was entitled to download the source at the time, it sticks.
    Apparently it was under the BSD license.
    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to hughaguilar96@gmail.com on Sun Feb 26 10:35:27 2023
    In article <03da6e10-f1ee-47d0-898d-5463ca647b26n@googlegroups.com>,
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:
    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized
    to have a copy of the novice package. If you have an old copy of the
    novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    You can retroactively change the copyright conditions.
    If I was entitled to download the source at the time, it sticks.

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to none albert on Sun Feb 26 02:05:03 2023
    On Sunday, 26 February 2023 at 09:39:40 UTC, none albert wrote:
    In article <nnd$1c7f76fe$0a06061c@701394006c4d786b>,
    none) (albert <albert@cherry.> wrote:
    In article <03da6e10-f1ee-47d0...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized
    to have a copy of the novice package. If you have an old copy of the >>novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    You can retroactively change the copyright conditions.
    Of course I meant "can't".
    If I was entitled to download the source at the time, it sticks.
    Apparently it was under the BSD license.
    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 -

    I am amazed what all of this fuss is about
    The old version of the novice package is here https://www.forth2020.org/beginners-to-forth/a-novice-package
    can be downloaded by anybody.
    If there is a new version to be discussed it should be accessible as well.
    If not, the CLF should move to more fruitful discussions.
    According to Hugh they are all liars anyway ....

    The link here is dead
    original document : -- http://www.forth.org/novice.html --

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Pelc@21:1/5 to dxforth on Sun Feb 26 11:39:31 2023
    On 25 Feb 2023 at 07:20:23 CET, "dxforth" <dxforth@gmail.com> wrote:

    On 25/02/2023 4:07 pm, Hugh Aguilar wrote:

    Are you planning on describing this bug fix publicly?
    More likely, you will provide the bug fix only to the verklempt worms ---
    your sycophants.

    When may we expect your fix for the f/p output bug in the novice pack?

    I'm not touching the novice code. That's for Hugh and his sycophants.

    Your FP changes will be integrated as soon as I have delivered a major update to a client and finished some migration issues.

    Stephen
    --
    Stephen Pelc, stephen@vfxforth.com
    MicroProcessor Engineering, Ltd. - More Real, Less Time
    133 Hill Lane, Southampton SO15 5AF, England
    tel: +44 (0)23 8063 1441, +44 (0)78 0390 3612,
    +34 649 662 974
    http://www.mpeforth.com - free VFX Forth downloads

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Sun Feb 26 06:37:33 2023
    On Sunday, February 26, 2023 at 12:26:27 AM UTC+1, Hugh Aguilar wrote:
    I can't associate with soulless maintenance programmers such as DXforth, Albert van der Horst, Hans Bezemer, etc.. This just gives Tom Hart the opportunity to say: "Birds of a feather stick together." Guilt by association!
    Let me begin this by publicly stating that I don't want, need, require or ask for any association with you in any way, shape or form. So relax.

    Second, there is such thing as "guilt by association" other than as a logical fallacy: https://owl.excelsior.edu/argument-and-critical-thinking/logical-fallacies/logical-fallacies-guilt-by-association/
    So relax.

    But I'm not a maintenance programmer. As a matter of fact, my last paid programming job ended over 35 years ago - and I've not specifically *hired*
    to do any programming since.

    Yes, I've done some programming professionally since, but always when
    people stated "it cannot be done" or "it cannot be done in that time frame". And always in my capacity as Service Manager. Consequently, those were
    always original programs.

    So - why am I sharing this information with you. Because you're simply wrong.

    In your delusion you may think I'm a professional programmer - but I'm not. The vast majority of articles I wrote were on ITSM - not programming. Which
    is kind of logical, since I have been in Service Management for almost 30 yrs. (Yes, I've also been a DBA and a sys admin for a few years - so it doesn't add up to 35 yrs).

    I bet you don't have ANY solid evidence that the others you listed were "maintenance programmers", because that is obviously how your mind works.
    You assume some things, may be even imagine them and then that becomes
    your truth. But that is not how the world works.

    But maybe now you understand why I don't care about you, Hugh. Or anything
    you say about me. Or make me stop what I'm doing. To me, you're just a nobody with a crazy opinion I don't care for.

    Hans Bezemer

    BTW, I can rip your NOVICE package till the last byte. You clearly released it under
    the BSD license - and you can't revoke that. You can change the license on the next
    version, but not the previous one.

    More unlucky - it is a very permissive one. The only thing one has to do is basically
    retain the copyright message. For the rest, it's free game.

    If you want to sue anybody here for using it, take my advise: you better keep your
    money in your pocket.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Wed Mar 1 00:12:22 2023
    On Wednesday, March 1, 2023 at 8:22:42 AM UTC+1, Hugh Aguilar wrote:
    I demand that my novice package should be removed from the
    www.Forth2020 website. This is grossly unethical to post my code on
    your website when I have clearly said that you don't have my permission.
    You lost that right the moment you published your code with a reference
    to the BSD license. There is as little you can do as I can do reassigning previous releases of my code under the LGPL v3 license. Any concessions
    people do is pure courtesy.

    All of the Forth-2020 enthusiasts attack my code with the intention of proving that I'm incompetent.
    Yeah, right, Hugh. Everybody is out to get you. That's their main purpose in live. But frankly, I think you damaged your reputation more than anyone on c.l.f could or would ever do.

    These are truly evil people! I want them to leave me alone!
    Somehow this reminds me of South Parks "World Privacy Tour".

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Jurgen Pitaske on Tue Feb 28 23:22:40 2023
    On Sunday, February 26, 2023 at 3:05:05 AM UTC-7, Jurgen Pitaske wrote:
    On Sunday, 26 February 2023 at 09:39:40 UTC, none albert wrote:
    In article <nnd$1c7f76fe$0a06061c@701394006c4d786b>,
    none) (albert <albert@cherry.> wrote:
    In article <03da6e10-f1ee-47d0...@googlegroups.com>,
    Hugh Aguilar <hughag...@gmail.com> wrote:
    I don't provide the novice-package to the general public anymore.
    None of the smirky trolls on comp.lang.forth (including DXforth) are authorized
    to have a copy of the novice package. If you have an old copy of the >>novice package,
    delete it from your computer. That is my intellectual property --- not yours!

    You can retroactively change the copyright conditions.
    Of course I meant "can't".
    If I was entitled to download the source at the time, it sticks. Apparently it was under the BSD license.
    Groetjes Albert

    You have no right to post my code on the internet without my permission.

    I am amazed what all of this fuss is about
    The old version of the novice package is here https://www.forth2020.org/beginners-to-forth/a-novice-package
    can be downloaded by anybody.
    If there is a new version to be discussed it should be accessible as well. If not, the CLF should move to more fruitful discussions.
    According to Hugh they are all liars anyway ....

    The link here is dead
    original document : -- http://www.forth.org/novice.html --

    I demand that my novice package should be removed from the
    www.Forth2020 website. This is grossly unethical to post my code on
    your website when I have clearly said that you don't have my permission.

    I demanded that my novice package be removed from the SVFIG website
    and they complied, which is why that link is dead.

    All of Stephen Pelc's sycophants are liars.
    On this page: https://www.forth2020.org/beginners-to-forth/a-novice-package
    The Forth2020 liars say this: "239 Kb zip file this file is up to date to Oct.2020"
    They are lying! I never gave them an updated version.
    They have an old copy of the novice package from 2010 that they are saying
    is the best that I've come up with in all of these years.

    Most likely they sabotaged my novice package to turn it into non-working crap to support their claim that I'm incompetent and they are Forth experts.
    The Forth-2020 "experts" are truly evil people! They are chronic liars.

    Consider this thread: https://groups.google.com/g/comp.lang.forth/c/qqlp1gZnVic/m/kjeAwWCaR1MJ

    On Monday, November 25, 2013 at 4:20:14 PM UTC-7, Bernd Paysan wrote:
    Albert van der Horst wrote:
    It sounds like you have a whole machinery in place to tests rng's.
    Would you mind adding LC53 to the list?

    \ Comma for clarity, not a double number.
    : LC53 -5 um* -333,333,333 + nip ;
    Hm, wasn't Hugh's LC53

    : lc53 -333333333 um* -5 um/mod drop ;

    ? Don't make Hugh look more stupid than he actually is ;-).

    In this thread Albert van der Horst repeated posted non-working crap code
    that looked similar to my code, but he was lying --- it wasn't my code.
    He was telling these lies about me to support his claim that I'm incompetent and he is an expert. Eventually he and Andrew Haley concluded that I had written working code, but this was pure luck because I knew nothing of theory and didn't do any tested (somewhat like a monkey banging on a keyboard).

    On Thursday, November 28, 2013 at 6:47:27 AM UTC-7, Albert van der Horst wrote:
    In article <eqKdnSUOWM1xtgrP...@supernews.com>,
    Andrew Haley <andr...@littlepinkcloud.invalid> wrote:
    Bernd Paysan <bernd....@gmx.de> wrote:

    LC53 is a maximum period linear congruent random number generator -
    so far, so good. It has the usual problems of LCGs, so it doesn't
    pass any serious randomness test suite. It is certainly not worse
    than others,

    Did you really mean to say that? All we know is that it is not
    certainly worse. I doubt very much that a generator chosen without
    any theoretical justification or testing is as good as any. It's not >impossible, but it would be a fantastic stroke of luck.
    Sure Hugh got lucky...

    Bernd Paysan is another clown.
    He is completely missing the point of LC53 --- I wanted a simple 32-bit linear-congruential generator as an easy introduction into encryption cracking. LC53 was not intended to be a strong prng that passes a "serious randomness test suite."

    All of the Forth-2020 enthusiasts attack my code with the intention of
    proving that I'm incompetent. They are not positive contributors.
    They don't deserve to be given source-code, which is why I demand that
    they remove all mention of my novice-package from their website.
    These are truly evil people! I want them to leave me alone!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to hughaguilar96@gmail.com on Wed Mar 1 10:19:20 2023
    In article <dd89d6ba-aada-4969-a7b9-46cdd00a0ffcn@googlegroups.com>,
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:
    <SNIP>
    In this thread Albert van der Horst repeated posted non-working crap code >that looked similar to my code, but he was lying --- it wasn't my code.
    He was telling these lies about me to support his claim that I'm incompetent >and he is an expert. Eventually he and Andrew Haley concluded that I had >written working code, but this was pure luck because I knew nothing of theory >and didn't do any tested (somewhat like a monkey banging on a keyboard).

    This are a bunch of Trumpian lies. Especially if you accuse me of lying,
    it was a honest mistake. I certainly am an expert, but you are just conditionally incompetent.
    Anyhow I made a promise to redress the contribution I made on wikipedia. Apparently you prefer to rant about it, since a decenium now.

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Hans Bezemer on Wed Mar 1 01:20:52 2023
    On Wednesday, 1 March 2023 at 08:12:24 UTC, Hans Bezemer wrote:
    On Wednesday, March 1, 2023 at 8:22:42 AM UTC+1, Hugh Aguilar wrote:
    I demand that my novice package should be removed from the
    www.Forth2020 website. This is grossly unethical to post my code on
    your website when I have clearly said that you don't have my permission.
    You lost that right the moment you published your code with a reference
    to the BSD license. There is as little you can do as I can do reassigning previous releases of my code under the LGPL v3 license. Any concessions people do is pure courtesy.
    All of the Forth-2020 enthusiasts attack my code with the intention of proving that I'm incompetent.
    Yeah, right, Hugh. Everybody is out to get you. That's their main purpose in live. But frankly, I think you damaged your reputation more than anyone on c.l.f could or would ever do.
    These are truly evil people! I want them to leave me alone!
    Somehow this reminds me of South Parks "World Privacy Tour".

    Hans Bezemer

    What a lovely situation.
    Really makes me smile.

    Let the two Forth Killers fight it out:

    HUGH AGUILAR AGAINST PETER whatever fake he calls himself today.

    I wonder, how many here have downloaded it now as result of this discussion.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Wed Mar 1 23:30:45 2023
    On 1/03/2023 6:22 pm, Hugh Aguilar wrote:

    On this page: https://www.forth2020.org/beginners-to-forth/a-novice-package The Forth2020 liars say this: "239 Kb zip file this file is up to date to Oct.2020"
    They are lying! I never gave them an updated version.
    They have an old copy of the novice package from 2010 that they are saying
    is the best that I've come up with in all of these years.

    The file dates are 10/2020. One of them has the notice:

    "copyright (c) 2016, BSD license"

    Most likely they sabotaged my novice package to turn it into non-working crap to support their claim that I'm incompetent and they are Forth experts.

    What evidence of sabotage do you have? Which of those files has been tampered with? I see no claim of incompetence on that webpage - quite the contrary, I see your description of the contents of the novice pack.

    The Forth-2020 "experts" are truly evil people! They are chronic liars.

    Not as far I can see. They devoted a webpage to your novice pack and your response is abuse. If anything, it appears to be you who has lost confidence in the novice pack.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gerry Jackson@21:1/5 to dxforth on Wed Mar 1 19:56:51 2023
    On 01/03/2023 12:30, dxforth wrote:
    On 1/03/2023 6:22 pm, Hugh Aguilar wrote:

    On this page:
    https://www.forth2020.org/beginners-to-forth/a-novice-package
    The Forth2020 liars say this: "239 Kb zip file   this file is up to
    date to Oct.2020"
    They are lying! I never gave them an updated version.
    They have an old copy of the novice package from 2010 that they are
    saying
    is the best that I've come up with in all of these years.

    The file dates are 10/2020.  One of them has the notice:

    "copyright (c) 2016, BSD license"

    Most likely they sabotaged my novice package to turn it into
    non-working crap
    to support their claim that I'm incompetent and they are Forth experts.

    Where have they made that claim, and who are 'they'? Claims without any evidence are worthless. What makes you think they even care about your competence?


    What evidence of sabotage do you have?  Which of those files has been tampered with?

    He could download it and do a simple file comaparison to detect any
    'sabotage'. He hasn't and won't because he can just make his outrageous
    claims in ignorance. Any normal person would be pleased for the
    publicity but not Hugh because he is afraid that someone might make a
    mild criticism or, heaven forbid, report a bug - he won't risk that.

    Ironic isn't it? It seems that him ranting about it has made at least
    two of us download it that wouldn't have otherwise.

    I fully expect him to retaliate with the the nth (n > 5) repetition of
    an outrageous lie about plagiarism on my part. Or perhaps he'll invent a
    new lie. He is a follower of Trump in believing that continuous
    repetition of a lie makes it the truth.

    I see no claim of incompetence on that webpage - quite the
    contrary, I
    see your description of the contents of the novice pack.

    The Forth-2020 "experts" are truly evil people! They are chronic liars.

    Not as far I can see.  They devoted a webpage to your novice pack and your response is abuse.  If anything, it appears to be you who has lost confidence
    in the novice pack.


    --
    Gerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Jurgen Pitaske on Wed Mar 1 12:31:54 2023
    On Wednesday, March 1, 2023 at 5:20:54 AM UTC-4, Jurgen Pitaske wrote:
    On Wednesday, 1 March 2023 at 08:12:24 UTC, Hans Bezemer wrote:
    On Wednesday, March 1, 2023 at 8:22:42 AM UTC+1, Hugh Aguilar wrote:
    I demand that my novice package should be removed from the
    www.Forth2020 website. This is grossly unethical to post my code on
    your website when I have clearly said that you don't have my permission.
    You lost that right the moment you published your code with a reference
    to the BSD license. There is as little you can do as I can do reassigning previous releases of my code under the LGPL v3 license. Any concessions people do is pure courtesy.
    All of the Forth-2020 enthusiasts attack my code with the intention of proving that I'm incompetent.
    Yeah, right, Hugh. Everybody is out to get you. That's their main purpose in
    live. But frankly, I think you damaged your reputation more than anyone on c.l.f could or would ever do.
    These are truly evil people! I want them to leave me alone!
    Somehow this reminds me of South Parks "World Privacy Tour".

    Hans Bezemer
    What a lovely situation.
    Really makes me smile.

    Let the two Forth Killers fight it out:

    HUGH AGUILAR AGAINST PETER whatever fake he calls himself today.

    Normally it would be a three way match with Hugh, Peter and Juergen. Juergen can certainly hold his own when the mud starts flying!

    --

    Rick C.

    -+ Get 1,000 miles of free Supercharging
    -+ Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Lorem Ipsum on Wed Mar 1 12:46:10 2023
    On Wednesday, 1 March 2023 at 20:31:56 UTC, Lorem Ipsum wrote:
    On Wednesday, March 1, 2023 at 5:20:54 AM UTC-4, Jurgen Pitaske wrote:
    On Wednesday, 1 March 2023 at 08:12:24 UTC, Hans Bezemer wrote:
    On Wednesday, March 1, 2023 at 8:22:42 AM UTC+1, Hugh Aguilar wrote:
    I demand that my novice package should be removed from the www.Forth2020 website. This is grossly unethical to post my code on your website when I have clearly said that you don't have my permission.
    You lost that right the moment you published your code with a reference to the BSD license. There is as little you can do as I can do reassigning
    previous releases of my code under the LGPL v3 license. Any concessions people do is pure courtesy.
    All of the Forth-2020 enthusiasts attack my code with the intention of proving that I'm incompetent.
    Yeah, right, Hugh. Everybody is out to get you. That's their main purpose in
    live. But frankly, I think you damaged your reputation more than anyone on
    c.l.f could or would ever do.
    These are truly evil people! I want them to leave me alone!
    Somehow this reminds me of South Parks "World Privacy Tour".

    Hans Bezemer
    What a lovely situation.
    Really makes me smile.

    Let the two Forth Killers fight it out:

    HUGH AGUILAR AGAINST PETER whatever fake he calls himself today.


    Another and Forth Bullshitter must be included R I C K C.
    Nobody can come close.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jach Feng@21:1/5 to All on Wed Mar 1 18:29:53 2023
    none albert 在 2023年3月1日 星期三下午5:19:23 [UTC+8] 的信中寫道:
    This are a bunch of Trumpian lies. Especially if you accuse me of lying,
    it was a honest mistake. I certainly am an expert, but you are just conditionally incompetent.
    Anyhow I made a promise to redress the contribution I made on wikipedia. Apparently you prefer to rant about it, since a decenium now.
    Groetjes Albert

    I wonder you must a sexual deviation lib. Why you hate Trump so much? Just because he has an opposite view on behavior you have?

    --Jach

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Gerry Jackson on Wed Mar 1 23:17:31 2023
    On Wednesday, March 1, 2023 at 12:56:52 PM UTC-7, Gerry Jackson wrote:
    Any normal person would be pleased for the
    publicity but not Hugh because he is afraid that someone might make a
    mild criticism or, heaven forbid, report a bug - he won't risk that.

    This is not the first time that the Forth-200x committee has tried to
    say that I'm a supporter of Forth-200x. They are desperate for support!
    The RfD for the Paysan-faked quotations, written by Alex McDonald,
    listed me as a contributor. This is despite the fact that I have always
    said that the Paysan-faked quotations are worthless crap, and then
    I came up with the rquotations that actually work (the rquotations have
    access to the parent function's local variables). I threatened to hit the Forth-200x committee with a lawsuit for libel in listing my name as
    as contributor to the Paysan-faked quotations. Alex McDonald
    grudgingly removed my name, so I thought that would end it. Then
    Anton Ertl took over the RfD and he put my name back in as a contributor!
    I had to threaten the libel lawsuit again, and then Anton Ertl removed
    my name. This is not "publicity" --- this is libel.
    Accusing me of being a contributor to the Paysan-faked quotations
    is accusing me of being incompetent to the level of mental retardation.

    Elizabeth Rather is the queen of liars!
    She listed Charles Moore as a contributor to ANS-Forth. In 1994 she
    put his name in the ANS-Forth document, despite the fact that he quit ANS-Forth in 1989 and slammed the door on his way out.
    I have a copy of his exit speech and he really slammed ANS-Forth
    for being worthless from a technical standpoint.

    Now we have the Forth-200x committee telling the same kind of lie about me, claiming that I am a contributor to Forth-200x although I'm not.
    The Forth-200x mailing-list is a honey pot. The purpose is to attract
    Forth programmers to the idea of a standard so they sign up for the
    mailing list. Pretty soon they realize that Forth-200x is pure crap, so they abandon Forth-200x --- but the Forth-200x committee will continue to
    list their name as a contributor forever --- this is how the Forth-200x committee fake up the appearance of having the support of the
    entire Forth community for their steaming pile of corporate marketing.

    I fully expect him to retaliate with the the nth (n > 5) repetition of
    an outrageous lie about plagiarism on my part. Or perhaps he'll invent a
    new lie. He is a follower of Trump in believing that continuous
    repetition of a lie makes it the truth.

    You are lying when you say that I'm a follower of Trump.
    This is a very off-topic accusation to make against me.

    Here is a Forth-related lie from Gerry Jackson. https://groups.google.com/g/comp.lang.forth/c/y96tQf_iOSk/m/WhpmjMTeAgAJ
    Gerry Jackson, as well as Alex McDonald and Anton Ertl, were hoisting
    the outrageous lie that my disambiguifiers magically allow words with
    "no interpretation semantics" such as IF R@ etc., to be used in interpret mode,
    such as inside of [ ] brackets. This usually works for IF and some other such words
    in some ANS-Forth implementations (SwiftForth), but this is not ANS-Forth compliant because it is an obvious violation of the ANS-Forth standard.
    In rare cases, this works for R@ and some other such words, but this is very dependent upon which ANS-Forth compiler is being used. This is extremely bad Forth programming to rely on this because it usually won't work.

    The liars Gerry Jackson, Alex McDonals and Anton Ertl were trying to confuse the ANS-Forth programmers with a hand-waving argument to make this turkey fly. Nobody believed them. Their arguments were bizarre and obviously wrong.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kerr-Mudd, John@21:1/5 to Hugh Aguilar on Thu Mar 2 09:47:24 2023
    On Wed, 1 Mar 2023 23:17:31 -0800 (PST)
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:

    On Wednesday, March 1, 2023 at 12:56:52 PM UTC-7, Gerry Jackson wrote:
    Any normal person would be pleased for the
    publicity but not Hugh because he is afraid that someone might make a
    mild criticism or, heaven forbid, report a bug - he won't risk that.

    This is not the first time that the Forth-200x committee has tried to
    say that I'm a supporter of Forth-200x. They are desperate for support!
    The RfD for the Paysan-faked quotations, written by Alex McDonald,
    listed me as a contributor. This is despite the fact that I have always
    said that the Paysan-faked quotations are worthless crap, and then
    I came up with the rquotations that actually work (the rquotations have access to the parent function's local variables). I threatened to hit the Forth-200x committee with a lawsuit for libel in listing my name as
    as contributor to the Paysan-faked quotations. Alex McDonald
    grudgingly removed my name, so I thought that would end it. Then
    Anton Ertl took over the RfD and he put my name back in as a contributor!
    I had to threaten the libel lawsuit again, and then Anton Ertl removed
    my name. This is not "publicity" --- this is libel.
    Accusing me of being a contributor to the Paysan-faked quotations
    is accusing me of being incompetent to the level of mental retardation.

    Elizabeth Rather is the queen of liars!
    She listed Charles Moore as a contributor to ANS-Forth. In 1994 she
    put his name in the ANS-Forth document, despite the fact that he quit ANS-Forth in 1989 and slammed the door on his way out.
    I have a copy of his exit speech and he really slammed ANS-Forth
    for being worthless from a technical standpoint.

    Now we have the Forth-200x committee telling the same kind of lie about me, claiming that I am a contributor to Forth-200x although I'm not.
    The Forth-200x mailing-list is a honey pot. The purpose is to attract
    Forth programmers to the idea of a standard so they sign up for the
    mailing list. Pretty soon they realize that Forth-200x is pure crap, so they abandon Forth-200x --- but the Forth-200x committee will continue to
    list their name as a contributor forever --- this is how the Forth-200x committee fake up the appearance of having the support of the
    entire Forth community for their steaming pile of corporate marketing.

    I fully expect him to retaliate with the the nth (n > 5) repetition of
    an outrageous lie about plagiarism on my part. Or perhaps he'll invent a new lie. He is a follower of Trump in believing that continuous
    repetition of a lie makes it the truth.

    You are lying when you say that I'm a follower of Trump.
    This is a very off-topic accusation to make against me.

    Here is a Forth-related lie from Gerry Jackson. https://groups.google.com/g/comp.lang.forth/c/y96tQf_iOSk/m/WhpmjMTeAgAJ Gerry Jackson, as well as Alex McDonald and Anton Ertl, were hoisting
    the outrageous lie that my disambiguifiers magically allow words with
    "no interpretation semantics" such as IF R@ etc., to be used in interpret mode,
    such as inside of [ ] brackets. This usually works for IF and some other such words
    in some ANS-Forth implementations (SwiftForth), but this is not ANS-Forth compliant because it is an obvious violation of the ANS-Forth standard.
    In rare cases, this works for R@ and some other such words, but this is very dependent upon which ANS-Forth compiler is being used. This is extremely bad Forth programming to rely on this because it usually won't work.

    The liars Gerry Jackson, Alex McDonals and Anton Ertl were trying to confuse the ANS-Forth programmers with a hand-waving argument to make this turkey fly.
    Nobody believed them. Their arguments were bizarre and obviously wrong.


    Careful you don't break your drum.
    --
    Bah, and indeed Humbug.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to jfong@ms4.hinet.net on Thu Mar 2 12:51:50 2023
    In article <08a71428-b809-4b3d-ae30-747f57ac9580n@googlegroups.com>,
    Jach Feng <jfong@ms4.hinet.net> wrote:
    none albert 在 2023年3月1日 星期三下午5:19:23 [UTC+8] 的信中寫道:
    This are a bunch of Trumpian lies. Especially if you accuse me of lying,
    it was a honest mistake. I certainly am an expert, but you are just
    conditionally incompetent.
    Anyhow I made a promise to redress the contribution I made on wikipedia.
    Apparently you prefer to rant about it, since a decenium now.
    Groetjes Albert

    I wonder you must a sexual deviation lib. Why you hate Trump so much? Just because he has an opposite view on behavior you have?

    I like Trump. It is just a proverbial lier. ;-)


    --Jach

    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Fri Mar 3 00:25:04 2023
    On 2/03/2023 6:17 pm, Hugh Aguilar wrote:

    Elizabeth Rather is the queen of liars!
    She listed Charles Moore as a contributor to ANS-Forth. In 1994 she
    put his name in the ANS-Forth document, despite the fact that he quit ANS-Forth in 1989 and slammed the door on his way out.

    I've yet to hear any complaint from Moore that he was listed (among
    others) as having been present and participated.

    I have a copy of his exit speech and he really slammed ANS-Forth
    for being worthless from a technical standpoint.

    Assuming it's the same document I have, the preface reads:

    "I apologize for walking out a few meetings ago. I got calls from some
    of you, but I have concluded that I am incompatible with the standard's
    process. FST, which I was a member of, and I had the same reaction.
    It seemed to be working this time. The first meetings were pleasant,
    because there was nothing of substance. But the principle I cannot
    subscribe to is that matters of fact or truth or beauty can be voted
    on. The facts speak for themselves. That's my gut reaction. I'm
    vitally concerned you produce a good standard, but I cannot vote."

    So that's two Forth standards - ANS and the previous one - he'd been
    invited to join and walked away from. He wasn't rejecting ANS - he
    was rejecting all standards. Moore created Forth. What need does
    he have of standards - or of folks jumping up and down complaining
    something isn't standard? None whatsoever. Don't know about you,
    but I think that's a great place to be.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Thu Mar 2 08:40:24 2023
    On Thursday, March 2, 2023 at 8:17:33 AM UTC+1, Hugh Aguilar wrote:
    Pretty soon they realize that Forth-200x is pure crap, so they
    abandon Forth-200x --- but the Forth-200x committee will continue to
    list their name as a contributor forever --- this is how the Forth-200x committee fake up the appearance of having the support of the
    entire Forth community for their steaming pile of corporate marketing.
    Gee, are we starting that discussion again? Yeah, Forth-83 was bad. Lots
    of things that are bad in ANS are an inheritance of Forth-83. So - what
    are you gonna do? You don't follow ANS. Who is gonna force you? You
    document the differences and move on.

    Forth-200x? Same thing. Make stuff loadable, so one has a choice. The
    advantage of following a standard is that you can nick some code and
    your stuff will run on other Forth compilers. The bigger the difference
    between your implementation and the standard, the more work you need
    to do. So it boils down to how much work you want to put into it as
    penalty for your stubbornness.

    Massively leaving Forth-200x? What does that mean? Not implementing
    the new features or eliminating everything that remotely smells like Forth- 200x? I tend to pick my fights. If I really, really don't like it I leave it be. If
    it's a new lib - depends on how attractive it is and how many effort I want to put in it. I don't need the halo of "This Is A Standard System" all over my compiler.

    And yes, if I voted or commented on it, people are free to do with that info what they want. If they want to conclude I support ANS - go ahead. Actions speak louder than words. I don't understand why you make such a big deal
    out of the whole shebang. You don't have a compiler, you hate ANS and
    you are quite vocal when you suspect someone violating that standard.

    I really don't get it. Maybe you like having a high blood pressure?

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Fri Mar 3 15:57:45 2023
    On 3/03/2023 3:40 am, Hans Bezemer wrote:
    ...
    Forth-200x? Same thing. Make stuff loadable, so one has a choice. The advantage of following a standard is that you can nick some code and
    your stuff will run on other Forth compilers. The bigger the difference between your implementation and the standard, the more work you need
    to do. So it boils down to how much work you want to put into it as
    penalty for your stubbornness.

    This paints a rosier picture than what exists. The purpose of the
    standard was to smooth over differences between systems. It doesn't
    take much difference to snag a newbie. It's still the case there are
    systems that insist on doing things differently - which requires a
    Standard user be something of an expert to sort out. The Standard is
    what we tell the world Forth has, when the truth is we're as divided
    as ever. Nor do have we any intention of changing. That's stubborn :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Gerry Jackson on Thu Mar 2 22:18:46 2023
    On Wednesday, March 1, 2023 at 12:56:52 PM UTC-7, Gerry Jackson wrote:
    Most likely they sabotaged my novice package to turn it into
    non-working crap
    to support their claim that I'm incompetent and they are Forth experts. Where have they made that claim, and who are 'they'? Claims without any evidence are worthless. What makes you think they even care about your competence?

    Obviously, "they" are the Forth-200x committee. It is their website where
    they posted my code without my permission. They are trying to tell the
    world that I'm one of their stupid little sycophants who brown-noses
    them by writing free software for them to look down on and judge.

    Stephen Pelc cares about my competence because he is driven primarily
    by shame. He has failed to write a synonym or an early-binding macro
    in ANS-Forth. He is deeply ashamed of himself because he failed and
    I succeeded (my code is simple, but it does require FIND to work, so it does require the disambiguifiers). Stephen Pelc has dug himself a pit of shame
    that is too deep for him to ever climb out --- all he can do is fling lies at me
    from within his pit of shame.

    https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/EdktVVJ7BAAJ
    On Tuesday, August 1, 2017 at 2:27:41 AM UTC-7, Stephen Pelc wrote:
    On Tue, 18 Jul 2017 21:28:18 -0700 (PDT), hughag...@gmail.com
    wrote:

    My complaint against Stephen Pelc is that he uses dishonest business practi= >ces. He supports ANS-Forth and Forth-200x for the purpose of making all For= >th programmers look stupid. He doesn't actually use ANS-Forth himself. He r= >outinely provides vendor-specific code in VFX, even when it is easy to writ= >e the code in ANS-Forth, for the purpose of trapping his customers in vendo= >r lock-in. A good example is SYNONYM --- I can write this in ANS-Forth usin= >g my disambiguifiers --- he insists that this is impossible to write in ANS= >-Forth --- he refuses to admit that the disambiguifiers exist because he wa= >nts ANS-Forth's FIND to behave differently in every ANS-Forth compiler.

    Hugh's wonderful disambiguifiers do NOT do what the great Hugh thinks
    they do. What the great Hugh has done is to redefine a large number of
    words so that they behave in a very restricted way to support the
    great Hugh's version of Forth. Hugh's SYNONYM is not portable ANS
    Forth unless you use Hugh's Forth. Bah, humbug. Another emperor
    with no clothes.

    Stephen

    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    in exchange Forth Inc. does MPE's marketing for him.
    Stephen Pelc is ashamed because he can't admit that the disambiguifiers
    make FIND work, because doing so would require him to admit that FIND
    in ANS-Forth doesn't work, which would require him to admit that Elizabeth Rather is a low-functioning retard --- FIND is not that difficult! --- her failure
    to define what FIND does in an unambiguous manner indicates incompetence
    at the level of mental retardation. ANS-Forth is a technical failure!

    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that
    you failed to write a SWITCH and had to plagiarize Michael Gassanenko's
    SWITCH. You are ashamed that you did this, and then it became obvious
    that you didn't understand how the code works. You claimed that you would upgrade it to support a large sparse table by sorting the entries and then doing a binary search. Are you retarded??? Gassanenko's SWITCH does a
    bucket sort to build the table! I was easily able to do this because I used
    a sorted linked-list as an intermediate data-structure. I could easily build
    a jump-table (for my FAST-SWITCH> construct) or build a compact sorted
    array that would use a binary search (for my SLOW-SWITCH> construct).
    You failed! You have good reason to be ashamed of this public failure. https://groups.google.com/g/comp.lang.forth/c/HwxAddZ54mg

    Anton Ertl and Bernd Paysan are ashamed because my rquotations work
    (they have access to the parent function's local variables) whereas all they have are the Paysan-faked quotations that fail. This is why they wrote
    a Euro-Forth article that had no point except to attack my rquotations and
    say that they don't have access to the parent function's local variables. Stephen Pelc put the Paysan-faked quotations in VFX --- I downloaded
    the new version of VFX primarily to find out if Stephen Pelc was pretending
    to have invented my rquotations and made them proprietary to VFX,
    but I found that he is still using the Paysan-faked quotations presumably because I am continuing to say that I wrote the rquotations to block him.

    Tom Hart and John Hart are driven primarily by shame too. They are ashamed that Testra had to hire outside help to write MFX (assembler/simulator and Forth cross-compiler). This is why they have, for the last three decades, refused
    to admit that I wrote MFX. They started lying way back in the 1990s, and then they couldn't stop lying because this would require them to admit that they
    had been lying, so they continue lying decade after decade...

    Pretty much every time that I write Forth code, somebody sinks into a pit
    of shame because of their failure to write comparable Forth code.
    Then they begin flinging lies at me --- they never escape from their pit
    of shame --- they continue covering up their shame with lies for years
    or decades...

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Kerr-Mudd, John@21:1/5 to Hugh Aguilar on Fri Mar 3 08:26:19 2023
    On Thu, 2 Mar 2023 22:18:46 -0800 (PST)
    Hugh Aguilar <hughaguilar96@gmail.com> wrote:

    On Wednesday, March 1, 2023 at 12:56:52 PM UTC-7, Gerry Jackson wrote:
    [missing attribution, undoubtedly HA]
    Most likely they sabotaged my novice package to turn it into
    non-working crap
    to support their claim that I'm incompetent and they are Forth experts. Where have they made that claim, and who are 'they'? Claims without any evidence are worthless. What makes you think they even care about your competence?

    []
    https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/EdktVVJ7BAAJ
    On Tuesday, August 1, 2017 at 2:27:41 AM UTC-7, Stephen Pelc wrote:
    On Tue, 18 Jul 2017 21:28:18 -0700 (PDT), hughag...@gmail.com
    wrote:

    [Old flame rekindled]

    Pretty much every time that I write Forth code, somebody sinks into a pit
    of shame because of their failure to write comparable Forth code.
    Then they begin flinging lies at me --- they never escape from their pit
    of shame --- they continue covering up their shame with lies for years
    or decades...

    Where is this all this wonderful new code that is immediately attacked
    by just about everyone else who writes Forth?

    One Novice Package written years ago that you no longer wish people
    to study?
    Feh.

    --
    Bah, and indeed Humbug.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Fri Mar 3 07:53:21 2023
    On Friday, March 3, 2023 at 7:18:48 AM UTC+1, Hugh Aguilar wrote:
    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    <rant>
    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that you failed to write a SWITCH and had to plagiarize Michael Gassanenko's
    <rant>
    Anton Ertl and Bernd Paysan are ashamed because my rquotations work
    <rant>
    Tom Hart and John Hart are driven primarily by shame too. They are ashamed
    <rant>

    Being left out in a "Hugh rant" is somewhat like a "South park" episode that doesn't mention you. Somehow, you're a bit disappointed you've not been roasted. :)

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gerry Jackson@21:1/5 to Hans Bezemer on Fri Mar 3 20:51:00 2023
    On 03/03/2023 15:53, Hans Bezemer wrote:
    On Friday, March 3, 2023 at 7:18:48 AM UTC+1, Hugh Aguilar wrote:
    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    <rant>
    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that >> you failed to write a SWITCH and had to plagiarize Michael Gassanenko's

    What a stupid comment and libellous assertion. How can I/others feel
    shame for something I/they haven't done. He won't even have looked at my
    or MLG's source code let alone compare them. He makes things up and then believes them to be true.

    <rant>

    Anton Ertl and Bernd Paysan are ashamed because my rquotations work

    Well they're not archtroll Aguiliar's rquotations, they were invented by HumptyDumpty who is now being written out of the history - that's
    plagiarism. All Hugh Aguilar did was to extend it to handle locals, and
    that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    <rant>
    Tom Hart and John Hart are driven primarily by shame too. They are ashamed
    <rant >
    Being left out in a "Hugh rant" is somewhat like a "South park" episode that doesn't mention you. Somehow, you're a bit disappointed you've not been roasted. :)

    Yes when you list the people he's attacked, whose only 'sin' is to
    disagree with him (not even that in the case of the Forth 200X
    committee), there aren't many regulars remaining unmentioned. He's
    attacked me ever since I submitted several bugs in his string stack
    software - he interpreted that as an attack and made unsupported
    statements such as I'd said it was crap.

    He's best ignored. Responding to him is a total waste of time, it's like arguing with flat earthers, creationists or religious fundamentalists.


    Hans Bezemer

    --
    Gerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Sat Mar 4 10:59:15 2023
    On 3/03/2023 5:18 pm, Hugh Aguilar wrote:
    On Wednesday, March 1, 2023 at 12:56:52 PM UTC-7, Gerry Jackson wrote:
    Most likely they sabotaged my novice package to turn it into
    non-working crap
    to support their claim that I'm incompetent and they are Forth experts.
    Where have they made that claim, and who are 'they'? Claims without any
    evidence are worthless. What makes you think they even care about your
    competence?

    Obviously, "they" are the Forth-200x committee. It is their website where

    Actually no. Forth-200x hosting your novice pack with thanks? Unlikely.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Lorem Ipsum@21:1/5 to Gerry Jackson on Fri Mar 3 22:28:34 2023
    On Friday, March 3, 2023 at 3:51:03 PM UTC-5, Gerry Jackson wrote:

    He's best ignored. Responding to him is a total waste of time, it's like arguing with flat earthers, creationists or religious fundamentalists.

    Yeah, that's true for some 90% or more of the posts in this group, not just Hugh.

    --

    Rick C.

    +- Get 1,000 miles of free Supercharging
    +- Tesla referral code - https://ts.la/richard11209

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Hans Bezemer on Sat Mar 4 20:33:43 2023
    On Friday, March 3, 2023 at 8:53:23 AM UTC-7, Hans Bezemer wrote:
    On Friday, March 3, 2023 at 7:18:48 AM UTC+1, Hugh Aguilar wrote:
    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    <rant>
    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that
    you failed to write a SWITCH and had to plagiarize Michael Gassanenko's
    <rant>
    Anton Ertl and Bernd Paysan are ashamed because my rquotations work
    <rant>
    Tom Hart and John Hart are driven primarily by shame too. They are ashamed
    <rant>

    Being left out in a "Hugh rant" is somewhat like a "South park" episode that doesn't mention you. Somehow, you're a bit disappointed you've not been roasted. :)

    Hans Bezemer

    I neglected to mention Hans Bezemer who is ashamed of the fact that
    he doesn't know what Harvard Architecture is. He could have just asked
    any bright fifteen-year-old to get the answer! Instead he spends years promoting his byte-code Forth compiler written in C and saying that it
    is Harvard Architecture. WTF???
    He doesn't even know that Harvard Architecture is a kind of
    hardware implementation, not a software technique. His ignorance is
    an embarrassment to the Forth community. Hans has been a clown for
    his entire life, and will continue to be a clown forever because he can't learn.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Gerry Jackson on Sat Mar 4 20:27:20 2023
    On Friday, March 3, 2023 at 1:51:03 PM UTC-7, Gerry Jackson wrote:
    On 03/03/2023 15:53, Hans Bezemer wrote:
    On Friday, March 3, 2023 at 7:18:48 AM UTC+1, Hugh Aguilar wrote:
    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    <rant>
    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that
    you failed to write a SWITCH and had to plagiarize Michael Gassanenko's What a stupid comment and libellous assertion. How can I/others feel
    shame for something I/they haven't done. He won't even have looked at my
    or MLG's source code let alone compare them. He makes things up and then believes them to be true.

    This isn't true.
    I looked at MLG's code enough to see that you totally plagiarized it.
    I also looked at it enough to see that it uses a bucket-sort, so it can't be upgraded to support a large sparse array by compacting the valid fields into
    a sorted array and then using a binary-search (what my SLOW-SWITCH> does). MLG's code is only adequate for doing what my FAST-SWITCH> does.

    Anton Ertl and Bernd Paysan are ashamed because my rquotations work
    Well they're not archtroll Aguiliar's rquotations, they were invented by HumptyDumpty who is now being written out of the history - that's plagiarism. All Hugh Aguilar did was to extend it to handle locals, and
    that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    This isn't true either.
    HumptyDumpty made a prototype that lacked the crucial feature of the
    rquotation accessing the parent function's local variables. Without this feature, rquotations are no better than Paysan-faked quotations, which
    is to say --- worthless.
    HumptyDumpty just did a proof-of-concept. His code had the advantage
    that, although it was not ANS-Forth compliant, it was written in Forth and
    it would work on almost all ANS-Forth systems.
    I upgraded to assembly-language (both SwiftForth and VFX) so I could
    provide the crucial feature of the rquotation accessing the parent function's local variables. I got so much flack from Gerry Jackson saying that I had plagiarized HumptyDumpty's code, that I later dropped HumptyDumpty's return-stack manipulation and upgraded the VFX version to use something
    similar to an embedded :NONAME so I no longer have any of HumptyDumpty's
    code in my rquotations (I still have the name 'rquotation' though, which isn't strictly accurate because the 'r' meant return-stack manipulation). I didn't bother
    to upgrade the SwiftForth version in this way because I don't care about
    Forth Inc. (SwiftForth is abysmally inefficient). Note that my new rquotation implementation is similar to the Paysan-faked quotations in that it is essentially an embedded :NONAME --- but my rquotation implementation
    still has the crucial feature that makes them useful --- the Paysan-faked quotations still lack this crucial feature and hence are still useless.

    that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    This is not true either.
    Gerry Jackson is implying that my entire novice-package depends upon
    the rquotations that aren't ANS-Forth compliant because the implementation
    is in assembly-language (VFX and SwiftForth). I don't depend upon the rquotations though. All of my data-structures continue to use the crude pseudo-quotation technique that I have been using since 2010. I continue
    to use the crude tecnique despite having rquotations that have the crucial feature so my novice-package will continue to be ANS-Forth compliant.

    The only non-trivial software that I have that uses the rquotations is my MSP430 assembler. This is only for my own use though --- I have no
    intention of ever making this public --- I don't want it to be
    "ripped to the last byte" (stolen).

    He's best ignored. Responding to him is a total waste of time, it's like arguing with flat earthers, creationists or religious fundamentalists.

    Gerry Jackson has no supporting evidence for his attack against me.
    This is why he always descends to an ad-hominem attack in which he
    accuses me of being utterly stupid (a flat-earther or religious fundamentalist).

    Also, btw, I am a creationist.
    I understand that life evolves over time, and that DNA/RNA is the
    mechanism for this evolution because it carries information from one generation to the next. It is obvious though, that DNA/RNA couldn't have evolved from a simpler mechanism for evolution because there is no simpler mechanism.
    DNA/RNA can't be both the mechanism for evolution and the product of evolution. DNA/RNA had to be created artificially for the purpose of being the mechanism for evolution. This was done by somebody whose technical ability would be considered
    god-like --- nobody knows who this was, or what the ultimate goal was --- this is
    above our pay-grade.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Sun Mar 5 17:43:39 2023
    On 5/03/2023 3:27 pm, Hugh Aguilar wrote:
    On Friday, March 3, 2023 at 1:51:03 PM UTC-7, Gerry Jackson wrote:
    ...
    He's best ignored. Responding to him is a total waste of time, it's like
    arguing with flat earthers, creationists or religious fundamentalists.

    Gerry Jackson has no supporting evidence for his attack against me.
    This is why he always descends to an ad-hominem attack in which he
    accuses me of being utterly stupid (a flat-earther or religious fundamentalist).

    Also, btw, I am a creationist.
    I understand that life evolves over time, and that DNA/RNA is the
    mechanism for this evolution because it carries information from one generation
    to the next. It is obvious though, that DNA/RNA couldn't have evolved from a simpler mechanism for evolution because there is no simpler mechanism. DNA/RNA can't be both the mechanism for evolution and the product of evolution.
    DNA/RNA had to be created artificially for the purpose of being the mechanism for evolution. This was done by somebody whose technical ability would be considered
    god-like --- nobody knows who this was, or what the ultimate goal was --- this is
    above our pay-grade.

    Knowledge being incomplete is no reason to postulate a creator, however refined you elect to make him. Of what use is believing in a creator whose plan for you
    is unknown? Looks like excess baggage to me.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Sun Mar 5 02:24:10 2023
    On Sunday, March 5, 2023 at 5:33:45 AM UTC+1, Hugh Aguilar wrote:
    I neglected to mention Hans Bezemer who is ashamed of the fact that
    he doesn't know what Harvard Architecture is. He could have just asked
    any bright fifteen-year-old to get the answer! Instead he spends years promoting his byte-code Forth compiler written in C and saying that it
    is Harvard Architecture. WTF???
    He doesn't even know that Harvard Architecture is a kind of
    hardware implementation, not a software technique. His ignorance is
    an embarrassment to the Forth community. Hans has been a clown for
    his entire life, and will continue to be a clown forever because he can't learn.

    WOW! An entire episode dedicated to my person! I'm honored! I'm finally one
    of the crowd!

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Hugh Aguilar on Sun Mar 5 02:48:41 2023
    On Sunday, March 5, 2023 at 5:27:22 AM UTC+1, Hugh Aguilar wrote:
    Also, btw, I am a creationist.
    We'll add it to the list :)

    I understand that life evolves over time, and that DNA/RNA is the
    mechanism for this evolution because it carries information from one generation
    to the next. It is obvious though, that DNA/RNA couldn't have evolved from a simpler mechanism for evolution because there is no simpler mechanism. DNA/RNA can't be both the mechanism for evolution and the product of evolution.
    DNA/RNA had to be created artificially for the purpose of being the mechanism
    for evolution. This was done by somebody whose technical ability would be considered
    god-like --- nobody knows who this was, or what the ultimate goal was --- this is
    above our pay-grade.

    As a matter of fact, it was recently proven that it is far more common that RNA emerges
    from its components than recently thought. And that's the difference between those who
    invoke Gods to explain the world and those who don't. It is best illustrated by this analogy.

    A number of Norse tribesmen are gathering at a camp fire when a thunderstorm emerges.
    "That's Thor!" one of them states "Wielding his mighty hammer". Another one responds:
    "I don't know what it is - but it's not a god riding on the clouds".

    Now - who is more right? The creation story was popular in science until the 19th century,
    so all things considered, it's quite a modern view. The idea that the universe is more than
    just the Milky Way was developed in the 20th century.

    Creationist always flatter themselves with "questions no Atheist" can respond to - and often
    they are right. But flipping in a deity doesn't actually answer those questions. Worse, it's not
    even a phenomenon. It also doesn't cater for other manifestations of a God - like the highly
    probably hypothesis that God is evil. Considering 99.999% of the universe is comprised of
    environments that kill us horribly and instantly doesn't really support the hypothesis that it
    was created for us, unless an evil God was deliberately marooning us on little rock. An evil
    God would also solve the classical "Problem of evil". So even assuming a creationist God
    doesn't really prove the God of the Bible.

    Finally, if we were created by a God, he would have to write some remarkable code. This
    is not the case. It's quite badly laid out. I posted a video on a genetic algorithm creating
    stack manipulations. It most certainly worked - much to my surprise - but it also created
    inefficient code. Take the BEST sequence for 3DUP (derived from only 8 stack manipulators):

    : 3dup >r over over r@ rot rot r> ;

    And now for the code a genetic algorithm generates:

    dup >r >r dup drop over over r@ rot rot r> r> swap swap drop
    dup >r >r over drop over over r@ rot rot r> r> swap swap drop
    dup >r >r r@ drop over over r@ rot rot r> r> swap swap drop
    r over over r> swap >r dup swap drop swap over r> swap dup drop
    r over over r> swap >r dup swap drop swap over r> swap over drop
    r over over r> swap >r dup swap drop swap over r> swap
    r over over r> swap >r dup swap drop swap over r> swap >r r>

    This is much more in line with what we find in the genetic makeup. In short,
    if God is a programmer, He is a pretty lousy one.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to dxforth on Sun Mar 5 03:18:50 2023
    On Sunday, March 5, 2023 at 7:43:43 AM UTC+1, dxforth wrote:
    Of what use is believing in a creator whose plan for you
    is unknown? Looks like excess baggage to me.

    To me and you - yes. According to Heidegger, we are "thrown
    into this world" without reason or purpose. According to Camus
    we should accept that life is absurd - and treat it like such.

    But Nietzsche had quite another view. He lamented that we
    "killed God", for most people actually need that sense of purpose.
    Because nihilism is a dead end street, an stance which human
    nature would refuse to accept.

    He warned that with the death of God , most people would fall for
    what he called "True world theories", ideologies that promised the
    same thing as religion - purpose and a better world. But he regarded
    those as "absurd fantasies". Or - as he put it: "believing in a true world
    is another way in which individuals can feel that their self is of
    universal importance".

    It's also stunning that he mentions that human beings have for millennia
    felt themselves to be "at the center of the universe" - which nicely coincides with the changed world view of modern times, which I referred to earlier.

    In short, God is required as a "safe true world theory" to keep the masses
    in check, because the vast majority isn't able to achieve that higher
    level of truth and morality. If God is lost, the masses will throw themselves at true world theories (like communism and fascism) and we'll be far
    worse of.

    Some incidents in the 20th centuries might incline someone to concur
    with him.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Hans Bezemer on Sun Mar 5 06:27:55 2023
    On Sunday, March 5, 2023 at 6:18:52 AM UTC-5, Hans Bezemer wrote:
    To me and you - yes. According to Heidegger, we are "thrown
    into this world" without reason or purpose. According to Camus
    we should accept that life is absurd - and treat it like such.

    Interesting.
    Camus seems to have come to a similar conclusion as the Buddha.
    "Life is suffering"

    In short, God is required as a "safe true world theory" to keep the masses in check, because the vast majority isn't able to achieve that higher
    level of truth and morality. If God is lost, the masses will throw themselves
    at true world theories (like communism and fascism) and we'll be far
    worse of.

    Some incidents in the 20th centuries might incline someone to concur
    with him.

    Hans Bezemer

    I really enjoyed that Hans. Thanks
    I wrote a bunch of other stuff but decided this was not the venue. ;-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Brian Fox on Sun Mar 5 07:08:09 2023
    On Sunday, March 5, 2023 at 3:27:56 PM UTC+1, Brian Fox wrote:
    Camus seems to have come to a similar conclusion as the Buddha.
    "Life is suffering"
    If you want that one, go shopping at Schopenhauer ;-)
    Camus thought absurdism wasn't much of a problem unless you were
    craving for reason and purpose - if so you'd be on for an existential crisis. So - live life in an absurd way, like become an actor or actress.

    I really enjoyed that Hans. Thanks
    I wrote a bunch of other stuff but decided this was not the venue. ;-)
    You're welcome. I tend to agree with you, but I'm always inclined to
    submit to an interesting discussion. I'll try to control myself, promise.. :)

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gerry Jackson@21:1/5 to Hugh Aguilar on Sun Mar 5 15:48:32 2023
    On 05/03/2023 04:27, Hugh Aguilar wrote:
    On Friday, March 3, 2023 at 1:51:03 PM UTC-7, Gerry Jackson wrote:
    On 03/03/2023 15:53, Hans Bezemer wrote:
    On Friday, March 3, 2023 at 7:18:48 AM UTC+1, Hugh Aguilar wrote:
    Stephen Pelc is deeply ashamed because he made a Faustian Bargain
    with Elizabeth Rather in which he is required to support ANS-Forth and
    <rant>
    You, Gerry Jackson, are driven primarily by shame too. You are ashamed that
    you failed to write a SWITCH and had to plagiarize Michael Gassanenko's
    What a stupid comment and libellous assertion. How can I/others feel
    shame for something I/they haven't done. He won't even have looked at my
    or MLG's source code let alone compare them. He makes things up and then
    believes them to be true.

    This isn't true.
    I looked at MLG's code enough to see that you totally plagiarized it.

    You didn't look very closely then

    I also looked at it enough to see that it uses a bucket-sort,

    From Wikipedia
    <quote>Bucket sort, or bin sort, is a sorting algorithm that works by distributing the elements of an array into a number of buckets. Each
    bucket is then sorted individually, either using a different sorting
    algorithm, or by recursively applying the bucket sorting algorithm.</quote>

    It does not do a bucket sort. The application programmer sorts values
    into buckets, if you insist on calling them that, by listing switch
    values before a WHEN statement. Each of these values are associated with
    the Forth code following WHEN. At the appropriate time the xt of the
    WHEN code is set into an array of xts which is indexed by the switch
    values multiplied by the number of bytes per cell. The xts are not
    sorted. I wouldn't call saving the xts by index sorting the array, you
    might, but thats how all arrays are loaded and accessed by index.

    so it can't be
    upgraded to support a large sparse array by compacting the valid fields into a sorted array and then using a binary-search>

    That just demonstrates that you haven't looked at or understood the
    code. Of course it can be 'upgraded' to make it suitable for a binary
    search. All that has to be done is to turn the xt array into an array of records where each record is a (switch value, xt). As the switch value
    (times record size) indexes the array that is a simple modification and
    the array is already sorted. Then do a binary search on that.
    Alternatively make it a hash table. Do you remember some 13 years ago
    when John Passaniti (who was driven from this group by your abuse)
    proved that a hash table was much better than your symtab in the Novice
    package both in performance and memory use).

    To demonstrate what I say I have a version that generates source code
    for a swith statement that I haven't released yet. From a statement such as:

    switch-gen sw2
    3 5 7 9 when ." an odd number end
    2 4 6 8 when ." an even number end
    other ." don't know" end
    end-switch

    It generates standalone Forth code (in a file called sw2.fth):
    \ -----------------------------------
    \ Generated by SwitchGen
    [undefined] umin [if] : umin 2dup u> if nip exit then drop ; [then]
    :noname ." don't know" cr ; constant def-xt
    : action! dup @ def-xt <> if cr cr source type cr
    ." Warning - action overwritten" then ! ;
    create sw-actions def-xt 9
    dup [if] over , 1- 0 >in ! [then] 2drop
    :noname ." an odd number" cr ;
    dup 4 sw-actions + action!
    dup 12 sw-actions + action!
    dup 20 sw-actions + action!
    dup 28 sw-actions + action!
    drop
    :noname ." an even number" cr ;
    dup 0 sw-actions + action!
    dup 8 sw-actions + action!
    dup 16 sw-actions + action!
    dup 24 sw-actions + action!
    drop
    : sw2 2 - 8 umin cells sw-actions + @ execute ;
    \ ------------------------------------
    (what my SLOW-SWITCH> does).
    MLG's code is only adequate for doing what my FAST-SWITCH> does.

    Anton Ertl and Bernd Paysan are ashamed because my rquotations work

    I very much doubt that they are ashamed

    Well they're not archtroll Aguiliar's rquotations, they were invented by
    HumptyDumpty who is now being written out of the history - that's
    plagiarism. All Hugh Aguilar did was to extend it to handle locals, and
    that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    This isn't true either.
    HumptyDumpty made a prototype that lacked the crucial feature of the rquotation accessing the parent function's local variables. Without this feature, rquotations are no better than Paysan-faked quotations, which
    is to say --- worthless.
    HumptyDumpty just did a proof-of-concept. His code had the advantage
    that, although it was not ANS-Forth compliant, it was written in Forth and
    it would work on almost all ANS-Forth systems.
    I upgraded to assembly-language (both SwiftForth and VFX) so I could
    provide the crucial feature of the rquotation accessing the parent function's local variables. I got so much flack from Gerry Jackson saying that I had plagiarized HumptyDumpty's code
    I mentioned it once, you exaggerate it into 'so much flak'.

    that I later dropped HumptyDumpty's
    return-stack manipulation and upgraded the VFX version to use something similar to an embedded :NONAME

    That's the first I've heard of that.

    so I no longer have any of HumptyDumpty's
    code in my rquotations (I still have the name 'rquotation' though, which isn't
    strictly accurate because the 'r' meant return-stack manipulation). I didn't bother
    to upgrade the SwiftForth version in this way because I don't care about Forth Inc. (SwiftForth is abysmally inefficient). Note that my new rquotation implementation is similar to the Paysan-faked quotations in that it is essentially an embedded :NONAME --- but my rquotation implementation
    still has the crucial feature that makes them useful --- the Paysan-faked quotations still lack this crucial feature and hence are still useless.

    except when they are useful as I've proved several times, to my own satisfaction at least.


    that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    This is not true either.
    Gerry Jackson is implying that my entire novice-package depends upon
    the rquotations that aren't ANS-Forth compliant because the implementation
    is in assembly-language (VFX and SwiftForth). I don't depend upon the rquotations though. All of my data-structures continue to use the crude pseudo-quotation technique that I have been using since 2010. I continue
    to use the crude tecnique despite having rquotations that have the crucial feature so my novice-package will continue to be ANS-Forth compliant.

    The only non-trivial software that I have that uses the rquotations is my MSP430 assembler. This is only for my own use though --- I have no
    intention of ever making this public --- I don't want it to be
    "ripped to the last byte" (stolen).

    He's best ignored. Responding to him is a total waste of time, it's like
    arguing with flat earthers, creationists or religious fundamentalists.

    Gerry Jackson has no supporting evidence for his attack against me.

    Yes I have, the source code for a switch word.

    This is why he always descends to an ad-hominem attack in which he
    accuses me of being utterly stupid (a flat-earther or religious fundamentalist).

    Where did I use the words 'utterly stupid'? Anyway comparing arguing
    with you is like arguing with 'flat earthers, creationists or religious fundamentalists' doesn't mean that I think you are one of those, it
    simply means that facts and rational arguments are ignored by you so we
    might as well not bother.

    Knowing that, whatever your reply that's my last response to you here.


    Also, btw, I am a creationist.

    Yeah well, that says a lot about you.

    I understand that life evolves over time, and that DNA/RNA is the
    mechanism for this evolution because it carries information from one generation
    to the next. It is obvious though, that DNA/RNA couldn't have evolved from a simpler mechanism for evolution

    Not knowing how something evolved does not mean the existence of a
    creator, it means we don't know.

    because there is no simpler mechanism.
    DNA/RNA can't be both the mechanism for evolution and the product of evolution.
    DNA/RNA had to be created artificially for the purpose of being the mechanism for evolution. This was done by somebody whose technical ability would be considered
    god-like --- nobody knows who this was, or what the ultimate goal was --- this is
    above our pay-grade.

    --
    Gerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Brian Fox@21:1/5 to Hans Bezemer on Sun Mar 5 08:42:34 2023
    On Sunday, March 5, 2023 at 10:08:11 AM UTC-5, Hans Bezemer wrote:
    On Sunday, March 5, 2023 at 3:27:56 PM UTC+1, Brian Fox wrote:

    So - live life in an absurd way, like become an actor or actress.

    ... or a Forth programmer! :-)))

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Brian Fox on Mon Mar 6 10:13:35 2023
    On 6/03/2023 3:42 am, Brian Fox wrote:
    On Sunday, March 5, 2023 at 10:08:11 AM UTC-5, Hans Bezemer wrote:
    On Sunday, March 5, 2023 at 3:27:56 PM UTC+1, Brian Fox wrote:

    So - live life in an absurd way, like become an actor or actress.

    ... or a Forth programmer! :-)))

    Wanting to be different from the pack - yet demanding the safety of
    a standard. That's a bundle of conflicting emotions that could do
    with some sorting out :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Mon Mar 6 11:38:14 2023
    On 5/03/2023 10:18 pm, Hans Bezemer wrote:
    On Sunday, March 5, 2023 at 7:43:43 AM UTC+1, dxforth wrote:
    Of what use is believing in a creator whose plan for you
    is unknown? Looks like excess baggage to me.

    To me and you - yes. According to Heidegger, we are "thrown
    into this world" without reason or purpose. According to Camus
    we should accept that life is absurd - and treat it like such.

    But Nietzsche had quite another view. He lamented that we
    "killed God", for most people actually need that sense of purpose.

    Purpose or explanation? Nobody asks what is the purpose of life
    when things are going well. They're too busy living it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Sun Mar 5 19:59:59 2023
    On Thursday, March 2, 2023 at 6:25:05 AM UTC-7, dxforth wrote:
    [regarding Charles Moore walking away from ANS-Forth in 1989]
    So that's two Forth standards - ANS and the previous one - he'd been
    invited to join and walked away from. He wasn't rejecting ANS - he
    was rejecting all standards. Moore created Forth. What need does
    he have of standards - or of folks jumping up and down complaining
    something isn't standard? None whatsoever. Don't know about you,
    but I think that's a great place to be.

    This is pure bullshit! This is DXforth's ongoing stream of drivel
    in which he says that any Forth standard puts his awesome creativity
    in a box, and any Forth standard must be opposed.

    Jeff Fox told me that Charles Moore was not opposed to having a
    Forth standard, but he understood that Forth needed a standard.
    He was opposed to ANS-Forth because it was being produced by
    non-programmers who wanted to vote on what Forth would be,
    despite not knowing anything about Forth, and they expected to have
    an equivalent vote as he the inventor of Forth had.

    The story claiming that Charles Moore was opposed to any Forth
    standard, was originally propaganda from the C community. In the late
    1980s and early 1990s, Forth was still being taken seriously despite
    the serious problems in the Forth-83 standard, primarily because UR/Forth generated code that was comparable in speed to Turbo-C (Small memory-model), and UR/Forth was easier to program in than C (due to the interactive outer-interpreter). The C community fought back by telling the lie that
    Charles Moore was opposed to a Forth standard and hence all Forth
    systems were incompatible with each other. They pointed out how PolyForth lacked a lot of useful features that UR/Forth had, such as the circular
    buffer for strings. PolyForth had PAD for strings, or I should say in the singular: "string". It was extremely difficult to port Forth code from UR/Forth to PolyForth because any non-trivial UR/Forth program used significant UR/Forth-specific features that were not part of the horribly thin Forth-83 standard.

    This propaganda effort by the C community to discredit the Forth community worked quite well. A significant number of Forth enthusiasts (DXforth being
    one of them) failed to understand that a Forth standard was necessary for
    Forth to succeed, so they picked up the anti-standard theme because this
    seemed to imply that they were too awesomely creative to be constrained
    by a Forth standard, despite the fact that they had never done anything creative in their entire lives (due to low intelligence and laziness).

    I have always said that a Forth standard is needed for Forth to succeed. Forth-200x is crap though.
    The rquotations are more important to the future of Forth than Forth-200x.
    The rquotations provide support for general-purpose data-structures, which would put Forth ahead of C --- if this had been done in 1994, Forth could
    have become competitive with C again --- ANS-Forth killed Forth in 1994 though.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Mon Mar 6 17:24:27 2023
    On 6/03/2023 2:59 pm, Hugh Aguilar wrote:
    On Thursday, March 2, 2023 at 6:25:05 AM UTC-7, dxforth wrote:
    [regarding Charles Moore walking away from ANS-Forth in 1989]
    So that's two Forth standards - ANS and the previous one - he'd been
    invited to join and walked away from. He wasn't rejecting ANS - he
    was rejecting all standards. Moore created Forth. What need does
    he have of standards - or of folks jumping up and down complaining
    something isn't standard? None whatsoever. Don't know about you,
    but I think that's a great place to be.

    This is pure bullshit! This is DXforth's ongoing stream of drivel
    in which he says that any Forth standard puts his awesome creativity
    in a box, and any Forth standard must be opposed.

    Jeff Fox told me that Charles Moore was not opposed to having a
    Forth standard, but he understood that Forth needed a standard.

    Moore has given many speeches and interviews. The nearest I've seen him
    come to advocating for a Forth standard is this:

    "I'm vitally concerned you produce a good standard, but I cannot vote."

    I'm unaware of Moore ever having produced a standard. All I've seen him
    do is walk away from them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to dxforth on Mon Mar 6 06:07:33 2023
    On Monday, March 6, 2023 at 7:24:30 AM UTC+1, dxforth wrote:
    Moore has given many speeches and interviews. The nearest I've seen him
    come to advocating for a Forth standard is this:
    "I'm vitally concerned you produce a good standard, but I cannot vote."
    I'm unaware of Moore ever having produced a standard. All I've seen him
    do is walk away from them.

    I got another quote from him: https://developers.slashdot.org/story/01/09/11/139249/chuck-moore-holds-forth

    I grew up worshiping Principia Mathematica 'till I learned how Goedel refuted it.
    The result is that I distrust formal representations. For example, the ANSII Forth
    standard does not describe Forth, but a language with the same name.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Valencia@21:1/5 to Hans Bezemer on Tue Mar 7 07:02:00 2023
    Hans Bezemer <the.beez.speaks@gmail.com> writes:
    I grew up worshiping Principia Mathematica 'till I learned how Goedel
    refuted it.

    You mean incompleteness? Still, PM is magnificent, worthy of respect. My memory is that Goedel proved, basically, that in any non-trivial derivation system, there will always be symbol-sequences which, while true, are not derivable from any previously discovered list of truths. PM as a toolkit for working within the system of mathematics was perhaps overly disheartened by
    the proof.

    Andy Valencia
    Home page: https://www.vsta.org/andy/
    To contact me: https://www.vsta.org/contact/andy.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From minforth@arcor.de@21:1/5 to Andy Valencia on Tue Mar 7 07:33:55 2023
    Andy Valencia schrieb am Dienstag, 7. März 2023 um 16:07:07 UTC+1:
    Hans Bezemer <the.bee...@gmail.com> writes:
    I grew up worshiping Principia Mathematica 'till I learned how Goedel refuted it.
    You mean incompleteness? Still, PM is magnificent, worthy of respect. My memory is that Goedel proved, basically, that in any non-trivial derivation system, there will always be symbol-sequences which, while true, are not derivable from any previously discovered list of truths. PM as a toolkit for working within the system of mathematics was perhaps overly disheartened by the proof.


    Kenneth Iverson was definitely influenced by PM notation when he designed
    the symbol set of APL, one of the most influential (but unknown to the public) programming languages for the finance industry until today. Its successors
    J and K can be mind boggling.

    Here's an example for an alternative Novice package: http://www.math.bas.bg/bantchev/place/rpn/rpn.k.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Andy Valencia on Tue Mar 7 09:25:32 2023
    On Tuesday, March 7, 2023 at 4:07:07 PM UTC+1, Andy Valencia wrote:
    You mean incompleteness? Still, PM is magnificent, worthy of respect. My memory is that Goedel proved, basically, that in any non-trivial derivation system, there will always be symbol-sequences which, while true, are not derivable from any previously discovered list of truths. PM as a toolkit for working within the system of mathematics was perhaps overly disheartened by the proof.
    I don't mean anything. It's a quote from Chuck Moore. I apologize for not marking
    it more clearly - it as being a quote and not my own words.

    But yes, I agree with you. He was probably referring to Gödels best known work.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to minf...@arcor.de on Tue Mar 7 09:31:24 2023
    On Tuesday, March 7, 2023 at 4:33:56 PM UTC+1, minf...@arcor.de wrote:
    Andy Valencia schrieb am Dienstag, 7. März 2023 um 16:07:07 UTC+1:
    Kenneth Iverson was definitely influenced by PM notation when he designed the symbol set of APL, one of the most influential (but unknown to the public)
    programming languages for the finance industry until today. Its successors
    J and K can be mind boggling.
    Iversons work is impressive. If Forth is known for its brevity you should take a look
    at the J code in Rosetta Code - and you'll bow your head in shame ;-)

    The Iverson bracket is one of the reasons "true" is still defined as "1" in 4tH :)

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Wed Mar 15 12:09:35 2023
    On 15/03/2023 11:37 am, Hugh Aguilar wrote:

    Nobody will ever take Forth seriously without general-purpose data-structures.
    and rquotations are crucial for this.

    Nobody will take seriously folks who don't write applications (MFX was a
    long time ago). I don't care how they choose to do it. Not my problem.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Gerry Jackson on Tue Mar 14 17:37:05 2023
    On Sunday, March 5, 2023 at 8:48:35 AM UTC-7, Gerry Jackson wrote:
    On 05/03/2023 04:27, Hugh Aguilar wrote:
    I looked at MLG's code enough to see that you totally plagiarized it.
    You didn't look very closely then
    I also looked at it enough to see that it uses a bucket-sort,
    From Wikipedia
    <quote>Bucket sort, or bin sort, is a sorting algorithm that works by distributing the elements of an array into a number of buckets. Each
    bucket is then sorted individually, either using a different sorting algorithm, or by recursively applying the bucket sorting algorithm.</quote>

    It does not do a bucket sort. The application programmer sorts values
    into buckets, if you insist on calling them that, by listing switch
    values before a WHEN statement. Each of these values are associated with
    the Forth code following WHEN. At the appropriate time the xt of the
    WHEN code is set into an array of xts which is indexed by the switch
    values multiplied by the number of bytes per cell. The xts are not
    sorted. I wouldn't call saving the xts by index sorting the array, you might, but thats how all arrays are loaded and accessed by index.
    so it can't be
    upgraded to support a large sparse array by compacting the valid fields into
    a sorted array and then using a binary-search>
    That just demonstrates that you haven't looked at or understood the
    code. Of course it can be 'upgraded' to make it suitable for a binary search. All that has to be done is to turn the xt array into an array of records where each record is a (switch value, xt). As the switch value (times record size) indexes the array that is a simple modification and
    the array is already sorted. Then do a binary search on that.

    You really don't know what you are talking about!
    You said:
    All that has to be done is to turn the xt array into an array of
    records where each record is a (switch value, xt). As the switch value (times record size) indexes the array that is a simple modification and
    the array is already sorted."

    Your xt array, for 32-bit index values would be up to 16GB in size, because there are 4 bytes per vector on a 32-bit Forth. Of course, a 16GB array
    doesn't fit on a 32-bit computer --- unlikely to fit on a 64-bit computer either.
    Are you really so dumb that you don't notice this problem???
    I use FAST-SWITCH> for 16-bit index values so my array is no more than 64KB.
    I use SLOW-SWITCH> for 32-bit index values so my data is compressed. SLOW-SWITCH> works well when the index values are spread out over a wide
    range, but there aren't many of them, so the FAST-SWITCH> array would be sparse.
    FAST-SWITCH> is mostly for emulating 16-bit processors with 16-bit opcodes.

    Anton Ertl and Bernd Paysan are ashamed because my rquotations work
    I very much doubt that they are ashamed

    My rquotations provide the crucial feature of accessing the parent function's local variables. Anton Ertl and Bernd Paysan should be deeply ashamed of
    their Paysan-faked quotations that fail to provide this crucial feature.
    They should also be ashamed of the fact that they lied in their EuroForth
    paper when they said that rquotations don't provide this feature. Their EuroForth
    paper seemed to have no purpose except to attack my rquotations with this
    gross dishonesty --- they had nothing positive to offer.

    Most likely, Stephen Pelc ordered his "pocket boys" Anton Ertl and Bernd Paysan to attack the rquotations in a EuroForth paper so that he could later "invent" the rquotations himself as a closed-source proprietary feature of VFX.
    He wanted to tell his customers: "Forth-200x has fake quotations that lack
    the crucial feature of accessing the parent function's local variables. To get this crucial feature, you have to buy VFX from me, because only VFX has this." Stephen Pelc is the worst possible choice to head the Forth standard effort because he is motivated to cripple the Forth standard in order to make
    VFX look good in comparison. He is the enemy of the Forth community.

    Well they're not archtroll Aguiliar's rquotations, they were invented by >> HumptyDumpty who is now being written out of the history - that's
    plagiarism. All Hugh Aguilar did was to extend it to handle locals, and >> that was in assembler. So much for his assertion about the trouble he
    took to make his Novice package ANS compliant.

    This isn't true either.
    HumptyDumpty made a prototype that lacked the crucial feature of the rquotation accessing the parent function's local variables. Without this feature, rquotations are no better than Paysan-faked quotations, which
    is to say --- worthless.
    HumptyDumpty just did a proof-of-concept. His code had the advantage
    that, although it was not ANS-Forth compliant, it was written in Forth and it would work on almost all ANS-Forth systems.
    I upgraded to assembly-language (both SwiftForth and VFX) so I could provide the crucial feature of the rquotation accessing the parent function's
    local variables. I got so much flack from Gerry Jackson saying that I had plagiarized HumptyDumpty's code
    I mentioned it once, you exaggerate it into 'so much flak'.
    that I later dropped HumptyDumpty's
    return-stack manipulation and upgraded the VFX version to use something similar to an embedded :NONAME
    That's the first I've heard of that.

    Another lie! I have posted this code multiple times already. I will post it again,
    but you will undoubtedly continue to lie about it.

    The purpose of the rquotations is to support general-purpose data-structures. The rquotations are more important to the future of Forth than the entire Forth-200x committee and all of their sycophants, including yourself, put together.
    Nobody will ever take Forth seriously without general-purpose data-structures. and rquotations are crucial for this.

    I'm not aware of anybody on the Forth-200x committee who knows how to implement general-purpose data-structures. None of the Forth-200x sycophants, including yourself, know either. You have been failing at this for four decades!
    Peter Knaggs made a complete fool of himself by attempting to implement
    a general-purpose linked-list and failing completely: https://groups.google.com/g/comp.lang.forth/c/cMa8wV3OiY0/m/INBDVBh0BgAJ
    The failure of Forth-83, ANS-Forth and Forth-200x to support
    general-purpose data-structures is a big part of why Forth is not taken seriously.

    The following is the rquotation code.
    None of the Forth-200x sycophants (including Gerry Jackson, Anton Ertl and Bernd Paysan) have permission to use this code. I only post it for the purpose of shining a spotlight on the stupidity of Forth-200x and their Paysan-faked quotations. I want the Forth-200x sycophants to continue promoting the Paysan-faked quotations because this makes Forth-200x look stupid and
    hastens the end of Forth-200x. ANS-Forth was always a shining star of stupidity, and I expect Forth-200x to super-nova --- this is the best thing that could happen to Forth --- something worthwhile may arise after
    Forth-200x is gone and out of the way.

    \ ******
    \ ****** R[ ]R quotations.
    \ ****** https://groups.google.com/forum/#!topic/comp.lang.forth/3LSqmBIZuzY
    \ ****** This is highly non-standard! ANS-Forth (section 3.2.3.3.) says:
    \ ****** A program shall not access values on the return stack (using R@, R>, 2R@ or 2R>) that it did not place there using >R or 2>R;
    \ ****** There is also an enhanced version that is also non-standard because it depends upon HERE pointing into code.
    \ ******

    \ In the stack-picture comments, RQ is a continuation (a vector to a quotation).

    \ HumptyDumpty invented rquotations --- this was very good programming --- I hadn't thought of it.
    \ What I call REX0 he called RCALL --- also, he didn't have REX which I invented (this only works in VFX and SwiftForth).
    \ If only REX0 is used, rquotations can be used under any ANS-Forth system (theoretically non-standard though).
    \ REX is a lot more useful though because the HOF almost always needs to have locals.

    \ My improved version for VFX or SwiftForth should be easy to port to other ANS-Forth systems --- any Forth system with locals.
    \ Some assembly-language is required, but it is pretty straight forward.

    VFX? 0= SwiftForth? 0= and [if] \ this is the generic version (HumptyDumpty's code; not ANS-Forth, but usually works)

    \ this was written by HumptyDumpty and works on gForth, SwiftForth and VFX

    : rexit ( -- ) RDROP ;
    : (r:) ( -- rq ) R@ false ;
    : r[ ( -- rq ) postpone (r:) postpone IF ; immediate
    : ]r ( -- ) postpone REXIT postpone THEN ; immediate
    : rex0 ( rq -- ) >R true ; \ requires the HOF to not have locals

    \ REX is not supported in HumptyDumpty's code.

    [then]

    VFX? [if]
    \ This version depends upon HERE pointing into the code. This is not ANS-Forth. This doesn't work under SwiftForth.

    code rex ( rq -- ) \ requires the HOF to have locals
    push edi \ this is the HOF's LF which won't be used by the quotation
    mov edi, 0 [edi] \ this is the parent's LF which will be used by the quotation
    mov eax, ebx
    mov ebx, 0 [ebp] lea ebp, w [ebp]
    call eax
    pop edi \ restore HOF's LF
    next, end-code

    item last-rq \ this should only be used at compile-time

    : rexit ( -- ) rdrop ;
    : r[ ( -- rq ) postpone ahead here to last-rq ; immediate
    : ]r ( -- ) postpone rexit postpone then last-rq lit, ; immediate : rex0 ( rq -- ) >r ; \ requires the HOF to not have locals

    \ The user can use LAST-RQ after an rquotation at compile-time to obtain the RQ (actually an XT) for it.

    [then]

    SwiftForth? [if]
    \ This version depends upon R@ being the return-address. This is not ANS-Forth. This also works under VFX (I originally used this for both).

    code rex ( rq -- ) \ requires the HOF to have locals
    'LF [u] edx mov
    edx push \ this is the HOF's LF which won't be used by the quotation
    -4 [edx] eax mov \ this is the old ESP
    0 [eax] eax mov \ this is the parent's LF which will be used by the quotation
    eax 'LF [u] mov
    ebx eax mov [drop]
    eax call
    'LF [u] pop \ restore HOF's LF
    ret end-code

    : rexit ( -- ) rdrop ;
    : (r:) ( -- rq ) r@ 5 + ; \ 5 is the size of a JMP instruction in 32-bit x86
    : r[ ( -- rq ) postpone (r:) postpone ahead ; immediate
    : ]r ( -- ) postpone rexit postpone then ; immediate
    : rex0 ( rq -- ) >r ; \ requires the HOF to not have locals

    \ LAST-RQ is not supported in the SwiftForth version. The RQ is not known at compile-time.

    [then]

    \ REX0 does the same as EXECUTE in VFX. In SwiftForth, EXECUTE assumes an offset from EDI so it is different.
    \ This is also why the version above that assumes HERE ponts to code doesn't work in SwiftForth.

    \ It is possible to rewrite REX0 and REX in assembly-language to work under SwiftForth. I didn't bother to do so.
    \ SwiftForth is over-complicated in weird ways. Most likely it was a port from an old multi-user Forth by Charles Moore
    \ which is why it uses user-variables and this EDI offset, although it is not multi-user so this was meaningless.

    \ Note that in HumptyDumpty's prototype, REX0 was completely different from EXECUTE .

    \ REX is used in a HOF that has local variables.
    \ REX0 is used in a HOF that does not have local variables.
    \ REX0 is also used in the parent function itself, when there is no HOF used.

    char & comment \ this only works for my code (VFX or SwiftForth)

    : test-hof { rq | y -- }
    9 to y
    cr ." enter TEST-HOF " y . \ should be 9
    3 0 do rq rex loop
    cr ." leave TEST-HOF " y . \ should be 9
    ;

    : test-rq { | x -- }
    10 to x
    cr ." before: " x . \ should be 10
    r[ 1 +to x ]r test-hof
    cr ." after: " x . \ should be 13
    ;

    &

    VFX? SwiftForth? or [if]

    : |iterate { cnt rq -- }
    begin cnt while
    rq rex
    -1 +to cnt repeat ;

    : |until { cnt rq | original -- completed }
    cnt to original
    begin cnt while
    rq rex
    -1 +to cnt
    if original cnt - exit then
    repeat
    original ;

    char & comment \ this is a test of |UNTIL

    : ttt. ( limit n -- completed )
    tuck - r[ dup . 1+ dup 8 = ]r |until nip ;

    : do-ttt. ( limit n -- completed )
    0 -rot \ -- count limit n
    ?do
    I 8 = if unloop exit then
    I . 1+ loop ;


    &

    char & comment \ this is a test of |ITERATE

    : old-up. \ limit n -- \ assumes LIMIT is above N
    ?do I . loop ;

    : up. ( limit n -- ) \ assumes LIMIT is above N
    tuck - r[ dup . 1+ ]r |iterate drop ;

    : old-down. \ limit n -- \ assumes LIMIT is below N
    swap 1+ swap ?do I . -1 +loop ;

    : down. ( limit n -- ) \ assumes LIMIT is below N
    tuck - negate r[ dup . 1- ]r |iterate drop ;

    : design ( val -- |val| sign )
    dup 0< if negate -1 exit then
    1 ;

    : through. ( limit n -- )
    tuck - \ -- n count
    design -rot \ -- step n |count|
    r[ dup . over + ]r |iterate 2drop ;

    : through. { limit n | step -- }
    limit n - \ -- count
    design to step \ -- |count|
    r[ n . step +to n ]r |iterate ;

    &

    [then]


    VFX? [if] \ this is not recommended!

    code lf ( -- ptr ) \ this goofy idea came from: https://groups.google.com/forum/#!topic/comp.lang.forth/ZxPe9Kjt2Ao%5B126-150%5D
    lea ebp, -w [ebp] mov 0 [ebp] , ebx
    lea ebx, d [edi] \ the D offset gets us past some other stuff up to the locals themselves
    next, end-code

    char & comment \ test for LF

    0 \ the local offsets are backwards from the order the locals are defined in by { ... }
    w field .ddd
    w field .ccc
    w field .bbb
    w field .aaa
    constant test-lf-offsets

    : test-lf { aaa bbb | ccc ddd -- }
    lf >r
    cr r@ .aaa @ . aaa .
    cr r@ .bbb @ . bbb .
    cr 123 r@ .ccc ! ccc .
    cr 456 r@ .ddd ! ddd .
    rdrop ;

    &

    \ I do not recommend using LF --- I just wrote it because Stephen Pelc suggested it but didn't implement it.
    \ This is a very bad idea because it is necessary to define a struct with fields corresponding to the locals.
    \ This is confusing because the fields in the struct are backwards from the order of the locals.
    \ This also clutters up the namespace because those field words are globals.
    \ It does make your locals variable flavored rather than value flavored though.

    [then]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Fri Mar 17 12:56:45 2023
    On 17/03/2023 12:19 pm, Hugh Aguilar wrote:
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash:
    ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require >> DONOTSIN.

    Stephen

    ...
    You never said where exactly DoNotSin was supposed to be used.

    "For the moment define LIT, as" seems clear enough.

    I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.

    Genius

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Stephen Pelc on Thu Mar 16 18:19:55 2023
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.

    Stephen

    I have been working so much these last few weeks that I haven't had time to test your DoNotSin fix for your sabotage. Also, I have just been using SwiftForth
    rather than deal with the hassle of your sabotaged VFX.

    I tried DoNotSin today. It seems to work on my LIT, definition that I described above.
    It does not work elsewhere though. I put DoNotSin after every word in NOVICE.4TH
    that contains POSTPONE LITERAL (there were nine of them). VFX still crashes
    on the first word that uses { although I put DoNotSin after the definition for { because
    { is one of the words that uses POSTPONE LITERAL internally.

    You never said where exactly DoNotSin was supposed to be used. I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.
    You also didn't say if breaking POSTPONE LITERAL was the only sabotage that you did to VFX or if there are other cases in which VFX no longer compiles ANS-Forth code.

    My { definition is ANS-Forth, as is everything in the novice package (except for what is
    specifically marked as being Swift-Forth-specific or VFX-specific). All of this worked
    under VFX previously and continues to work under SwiftForth.

    I find it very telling that you sabotaged VFX to prevent it from compiling ANS-Forth
    code in the hopes that his would only hit my my novice package and not their code.
    Your DoNotSin fix causes the "verklempt worms" to rise up out of the mud, their squishy little bodies wriggling in sheer ecstasy. Nobody complains that you charge
    money for VFX that is sabotaged to not compile ANS-Forth code. You advertise VFX as
    being ANS-Forth, so your customers could really demand a refund now that you have
    admitted that you sabotaged VFX to not be ANS-Forth, but they think this is "cute."
    This is really cult behavior!

    OTOH, everybody continues to be filled with hate for my rquotations that provide the
    crucial feature of accessing the parent function's locals, and they continue to enthusiastically support the Paysan-faked quotations that lack this crucial feature.
    Are they arguing against having this crucial feature??? What possible justification
    is there for supporting the Paysan-faked quotations that lack the crucial feature
    and offer nothing beyond what my pseudo-quotations have provided since 2010? This is really cult behavior --- to hate the rquotations with the crucial feature but to
    love the Paysan-faked quotations that lack the crucial feature, purely because Bernd Paysan and Anton Ertl are Stephen Pelc's "pocket boys." Similarly, everybody
    seems to love Gerry Jackson's SWITCH stolen from Michael Gassanenko (MLG).
    This lacks the feature of supporting 32-bit keys. Gerry Jackson only got involved in
    writing a SWITCH because he wanted to upstage me for my FAST-SWITCH> and SLOW-SWITCH> but he made a fool out of himself by failing to provide anything comparable to SLOW-SWITCH> and failing to understand why MLG's code can't
    be upgraded to do anything comparable to my SLOW-SWITCH>. It takes me only
    a day or two to write code like this, but Stephen Pelc's sycophants spend years attacking it and making complete fools of themselves. This is why joining a cult
    such as Forth-200x is a bad idea. You make fools of yourselves in public!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Gerry Jackson@21:1/5 to Hugh Aguilar on Fri Mar 24 17:38:24 2023
    On 15/03/2023 00:37, Hugh Aguilar wrote:
    On Sunday, March 5, 2023 at 8:48:35 AM UTC-7, Gerry Jackson wrote:
    On 05/03/2023 04:27, Hugh Aguilar wrote:
    I looked at MLG's code enough to see that you totally plagiarized it.
    You didn't look very closely then
    I also looked at it enough to see that it uses a bucket-sort,
    From Wikipedia
    <quote>Bucket sort, or bin sort, is a sorting algorithm that works by
    distributing the elements of an array into a number of buckets. Each
    bucket is then sorted individually, either using a different sorting
    algorithm, or by recursively applying the bucket sorting algorithm.</quote> >>
    It does not do a bucket sort. The application programmer sorts values
    into buckets, if you insist on calling them that, by listing switch
    values before a WHEN statement. Each of these values are associated with
    the Forth code following WHEN. At the appropriate time the xt of the
    WHEN code is set into an array of xts which is indexed by the switch
    values multiplied by the number of bytes per cell. The xts are not
    sorted. I wouldn't call saving the xts by index sorting the array, you
    might, but thats how all arrays are loaded and accessed by index.
    so it can't be
    upgraded to support a large sparse array by compacting the valid fields into
    a sorted array and then using a binary-search>
    That just demonstrates that you haven't looked at or understood the
    code. Of course it can be 'upgraded' to make it suitable for a binary
    search. All that has to be done is to turn the xt array into an array of
    records where each record is a (switch value, xt). As the switch value
    (times record size) indexes the array that is a simple modification and
    the array is already sorted. Then do a binary search on that.

    You really don't know what you are talking about!
    You said:
    All that has to be done is to turn the xt array into an array of
    records where each record is a (switch value, xt). As the switch value
    (times record size) indexes the array that is a simple modification and
    the array is already sorted."

    Your xt array, for 32-bit index values would be up to 16GB in size, because there are 4 bytes per vector on a 32-bit Forth. Of course, a 16GB array doesn't fit on a 32-bit computer --- unlikely to fit on a 64-bit computer either.
    Are you really so dumb that you don't notice this problem???

    I think you're being deliberately obtuse in making that statement. It is obvious that my revised array of records would NOT include invalid
    switch values. E.g. if, say, the valid signed maximum and minimum switch
    values were MAXINT and MININT respectively with, say, 5 other well
    separated values, the array would only have 7 records in it. Other
    values would not be found when searched for. Or are you too dumb to see
    that?

    [Much code snipped unread yet again]

    --
    Gerry

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ruvim@21:1/5 to Anton Ertl on Sat Mar 25 20:49:23 2023
    On 2023-02-22 10:34, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 22/02/2023 3:33 am, Hugh Aguilar wrote:

    Here is another bug in VFX:
    --------------------------------------
    : ttt ( n -- ) 0 <# #S #> ; ok

    1234567890 ttt 2dup type 1234567890 ok-2
    2dup type 1234567892 ok-2
    --------------------------------------
    ...
    I have exactly this 'bug' in DX-Forth

    Buggery loves company?

    There are systems without this bug:

    SwiftForth i386-Linux 3.11.0 23-Feb-2021
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567890 ok

    Gforth 0.7.9_20230209
    ...
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok 2
    2dup type 1234567890 ok 2

    OTOH:
    SwiftForth x64-Linux 4.0.0-RC52 20-Sep-2022
    : ttt ( n -- ) 0 <# #S #> ; ok
    1234567890 ttt 2dup type 1234567890 ok
    2dup type 1234567811 ok

    (I have not checked more recent RCs).

    ANS states data in the numeric output buffer is temporary
    and subject to being overwritten.

    No. What Forth-94 and Forth-2012 state is:

    |The data space regions identified by PAD, WORD, and #> (the pictured |numeric output string buffer) may be transient. Their addresses and |contents may become invalid after:
    |
    | * a definition is created via a defining word;
    | * definitions are compiled with : or :NONAME;
    | * data space is allocated using ALLOT, , (comma), C, (c-comma), or ALIGN. |
    |The previous contents of the regions identified by WORD and #> may be |invalid after each use of these words. Further, the regions returned
    |by WORD and #> may overlap in memory. Consequently, use of one of
    |these words can corrupt a region returned earlier by a different
    |word. The other words that construct pictured numeric output strings
    |(<#, #, #S, HOLD, HOLDS, XHOLD) may also modify the contents of these |regions. Words that display numbers may be implemented using pictured |numeric output words. Consequently, . (dot), .R, .S, ?, D., D.R, U.,
    |U.R could also corrupt the regions.

    None of these conditions happened here.

    Some may argue that the
    system may use one of the words that may overwrite the pictured
    numeric output string buffer internally at any place, but that would
    mean that the standard gives no guarantee at all about the contents of
    the buffer, which would make <# # #S HOLD #> etc. unusable in standard programs; standardizing these words would make no sense.

    Yes, the system is not allowed to invalidate this region at *any* place.
    And it does not matter what words are used internally.

    But, obviously, in some cases the system is allowed to invalidate
    (corrupt) this region. For example, when data space is allocated
    (regardless what particular words are used for that internally, e.g.
    while creating a definition a system is allowed to allocate data space).

    An important condition is that all such cases shall be *determinable* by
    a program (and so controlled by the program).
    It means, if a system does some internal works on its own, e.g. logging
    with using words that display numbers, the system shall preserve this
    region content (as well as the state of the pictured numeric output
    mechanism).


    Since the word "WORD" is required, while "PARSE-NAME" is optional, a
    system may use "WORD" doing text interpretation (in the same extent as
    it may allocate data space on creating a definition). Also, it was a
    common practice in 1994. Consequently, this region can be corrupted
    doing text interpretation (namely, doing parsing).

    I think, an omission is that while the word "WORD" is mentioned
    explicitly, text interpretation is not mentioned in the section 3.3.3.6.


    Concerning prompt. I think, displaying the system prompt (regardless
    what it prints) by itself should not modify the content of this region.
    But as a prompt is shown by the system after text interpretation only,
    it may corrupt this region.



    --
    Ruvim

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Ruvim on Sun Mar 26 13:28:31 2023
    On 26/03/2023 7:49 am, Ruvim wrote:
    ...
    I think, an omission is that while the word "WORD" is mentioned explicitly, text interpretation is not mentioned in the section 3.3.3.6.

    Some have taken the view that if a standard word hasn't been explicitly named in
    3.3.3.6. then it is excluded. That's not how I read it.

    "Words that display numbers may be implemented using pictured numeric output words."

    is the general statement. It then goes on:

    "Consequently, . (dot), .R, .S, ?, D., D.R, U., and U.R could also corrupt the regions."

    "consequently" means 'it follows that'. The above were examples - not a formal list
    to the exclusion of all others. It turns out DUMP and AT-XY are other words that
    do 'number output'. I have no particular interest in having AT-XY included in the
    above list. If the standard wants certain words that do 'number output' to *not*
    corrupt the numeric buffer then explicitly say so. If it's imperative then it ought
    to be stated in the definition anyway.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Sun Mar 26 09:08:36 2023
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 7:49 am, Ruvim wrote:
    ...
    I think, an omission is that while the word "WORD" is mentioned explicitly, text interpretation is not mentioned in the section 3.3.3.6.

    Some have taken the view that if a standard word hasn't been explicitly named in
    3.3.3.6. then it is excluded. That's not how I read it.

    "Words that display numbers may be implemented using pictured numeric output words."

    is the general statement. It then goes on:

    "Consequently, . (dot), .R, .S, ?, D., D.R, U., and U.R could also corrupt the regions."

    "consequently" means 'it follows that'. The above were examples - not a formal list
    to the exclusion of all others. It turns out DUMP and AT-XY are other words that
    do 'number output'.

    DUMP yes: Not only does it say "Display ...", and the sentence you
    cited mentions "display numbers", but actually it explicitly says:

    |DUMP may be implemented using pictured numeric output
    |words. Consequently, its use may corrupt the transient region
    |identified by #>.


    By contrast, AT-XY does not display numbers, and there is no such
    caveat in the description of AT-XY. So the standard does not give
    systems license for implementing AT-XY in a way that destroys the hold
    buffer.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Ruvim on Sun Mar 26 09:21:56 2023
    Ruvim <ruvim.pinka@gmail.com> writes:
    Since the word "WORD" is required, while "PARSE-NAME" is optional, a
    system may use "WORD" doing text interpretation (in the same extent as
    it may allocate data space on creating a definition). Also, it was a
    common practice in 1994. Consequently, this region can be corrupted
    doing text interpretation (namely, doing parsing).

    That may or may not have been intended, but that's not what was stated.

    Interestingly, looking at the tests for <# # #S HOLD SIGN #>, all of
    them put all the hold buffer stuff (including the test of the result)
    inside colon definitions, so they will not complain about a system
    where the hold buffer is destroyed by text interpretation.

    Let's see how systems fare:

    123456789. <# #s #> type

    123456789. <# #s #>
    type

    All of Gforth, iForth, lxf, SwiftForth 4.0.0-RC52, and VFX 64 5.11 RC2
    output 123456789 twice when loading this from a file.

    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2

    Pasting does not work properly with lxf, and I am too lazy to type
    this stuff in again.

    As the standard is currently written, iForth and VFX are buggy.
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ruvim@21:1/5 to dxforth on Sun Mar 26 10:31:05 2023
    On 2023-03-26 02:28, dxforth wrote:
    On 26/03/2023 7:49 am, Ruvim wrote:
    ... I think, an omission is that while the word "WORD" is mentioned
    explicitly, text interpretation is not mentioned in the section 3.3.3.6.

    Some have taken the view that if a standard word hasn't been explicitly
    named in 3.3.3.6. then it is excluded.  That's not how I read it.

      "Words that display numbers may be implemented using pictured numeric output words."

    is the general statement.  It then goes on:

      "Consequently, . (dot), .R, .S, ?, D., D.R, U., and U.R could also corrupt the regions."

    "consequently" means 'it follows that'.  The above were examples - not a formal list to the exclusion of all others.

    Agreed.

    Formally, all and only the cases when the region of numeric output
    buffer may be invalidated shall be specified in this section.

    Since the Standard cannot specify what words a system uses internally,
    these cases should be described in some other terms (i.e., not via
    particular word names).

    One such case is "data space reservation" [1]. Consequently, all actions
    that may reserve data space are allowed to invalidate this region,
    including compiling, creating a definition, executing certain words that reserve or may reserve data space.

    On the other hand, if a word does reserve data space, this action is
    always specified in its glossary entry, and if a word *may* reserve data
    space, this condition *shall* be specified explicitly it its glossary
    entry. For example, it's specified for "REPLACES" and "INCLUDED".


    Another case when the region of numeric output buffer may be invalidated
    is "displaying a number". Similar to the previous case, if a word does
    display a number, this action is specified in it's glossary entry, and
    if a word *may* display a number or use the pictured numeric output
    words, this condition *shall* be specified explicitly in its glossary
    entry. If it is not specified — a word is not allowed to observably do it.




    [1] It's better to use the term "reserve" instead of "allocate" to
    distinguish the words that allocate data space and change the data space pointer (identified by "HERE") — they actually reserve a data space
    region (see "ALLOT"), and the words that allocate data space and don't
    change the data space pointer (like "ALLOCATE" and "RESIZE").




    It turns out DUMP and AT-XY are other words that do 'number output'.

    It's obvious for DUMP, but AT-XY does not perform numeric output.


    I have no particular interest in having AT-XY included in the
    above list.  If the standard wants certain words that do 'number output'
    to *not* corrupt the numeric buffer then explicitly say so.

    Vise versa: if a word *may* corrupt this buffer, it shall be specified explicitly. Otherwise (i.e., if nothing is specified in this regard) it
    is not allowed to corrupt this buffer.


    If it's imperative then it ought to be stated in the definition anyway.


    Concerning "WORD" and text interpretation — they can be excluded from
    the things that are allowed to corrupt the numeric output buffer in some
    future version of the Standard, I think.


    --
    Ruvim

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ruvim@21:1/5 to Anton Ertl on Sun Mar 26 11:40:28 2023
    On 2023-03-26 09:21, Anton Ertl wrote:
    Ruvim <ruvim.pinka@gmail.com> writes:
    Since the word "WORD" is required, while "PARSE-NAME" is optional, a
    system may use "WORD" doing text interpretation (in the same extent as
    it may allocate data space on creating a definition). Also, it was a
    common practice in 1994. Consequently, this region can be corrupted
    doing text interpretation (namely, doing parsing).

    That may or may not have been intended, but that's not what was stated.

    Interestingly, looking at the tests for <# # #S HOLD SIGN #>, all of
    them put all the hold buffer stuff (including the test of the result)
    inside colon definitions, so they will not complain about a system
    where the hold buffer is destroyed by text interpretation.


    This probably reflects common practice in 90s, that text interpretation corrupted the hold buffer. Then we should admit that missing "text interpretation" in the section 3.3.3.6 is an omission.




    Let's see how systems fare:

    123456789. <# #s #> type

    123456789. <# #s #>
    type

    All of Gforth, iForth, lxf, SwiftForth 4.0.0-RC52, and VFX 64 5.11 RC2
    output 123456789 twice when loading this from a file.

    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2

    Pasting does not work properly with lxf, and I am too lazy to type
    this stuff in again.

    As the standard is currently written, iForth and VFX are buggy.
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.


    I would suggest to add explicitly "text interpretation" into 3.3.3.6
    (i.e., fix the omission), and on the next iteration exclude both the
    word "WORD" and text interpretation from 3.3.3.6.

    Namely, replace:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word.

    by:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word, and text
    | interpretation can corrupt the region identified by #>.


    And on the next iteration remove this connection of "WORD" and "#>" at
    all (the corresponding regions will no longer be allowed to overlap in
    memory).

    Or just remove this connection of "WORD" and "#>" from 3.3.3.6 at once.

    I believe, "text interpretation" and "WORD" should be either *both*
    present or *both* absent in this connection with "#>" to avoid a confusion.


    --
    Ruvim

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Sun Mar 26 23:49:57 2023
    On 26/03/2023 8:08 pm, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 7:49 am, Ruvim wrote:
    ...
    I think, an omission is that while the word "WORD" is mentioned explicitly, text interpretation is not mentioned in the section 3.3.3.6.

    Some have taken the view that if a standard word hasn't been explicitly named in
    3.3.3.6. then it is excluded. That's not how I read it.

    "Words that display numbers may be implemented using pictured numeric output words."

    is the general statement. It then goes on:

    "Consequently, . (dot), .R, .S, ?, D., D.R, U., and U.R could also corrupt the regions."

    "consequently" means 'it follows that'. The above were examples - not a formal list
    to the exclusion of all others. It turns out DUMP and AT-XY are other words that
    do 'number output'.

    DUMP yes: Not only does it say "Display ...", and the sentence you
    cited mentions "display numbers", but actually it explicitly says:

    |DUMP may be implemented using pictured numeric output
    |words. Consequently, its use may corrupt the transient region
    |identified by #>.

    Common practice and nothing we didn't already know. It could just as easily have been mentioned in 3.3.3.6.

    By contrast, AT-XY does not display numbers,

    DUMP doesn't display numbers. It sends ASCII numeric data to the console via EMIT and the console decides what, if anything, is displayed back to the user. Same for AT-XY.

    So the standard does not give
    systems license for implementing AT-XY in a way that destroys the hold buffer.

    Yet . .R .S ? D. D.R U. U.R and DUMP were given a licence to do that - why? Because it was past practice. In fact 3.3.3.6. is entirely about alerting readers to historical side-effects of certain words. Here are two historical implementations of AT-XY :

    VolksForth:
    | : ## ( n -- ) base push decimal 0 <# #S #> ccon!! ;

    | : ANSIlocate ( row col -- )
    csi swap 1+ ## ascii ; con! 1+ ## ascii H con! ;

    UNIFORTH:
    : Z.R ( n1 n2 --- ...print n1 in n2 fields, zero filled)
    >R S->D SWAP OVER DABS <# R> 0 DO # LOOP SIGN #> TYPE ;

    : (GOTO) ( xval yval --- ...goto x,y wrt upper left)
    CSI 1+ 2 Z.R 59 EMIT 1+ 2 Z.R 72 EMIT ;

    Both use forth's numeric output buffer.

    Does 200x have a position on AT-XY ? Because ANS is gone - as surely as
    Hugh's deistic creator.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Sun Mar 26 09:57:36 2023
    On Thursday, March 16, 2023 at 6:56:47 PM UTC-7, dxforth wrote:
    On 17/03/2023 12:19 pm, Hugh Aguilar wrote:
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash:
    ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require
    DONOTSIN.

    Stephen

    ...
    You never said where exactly DoNotSin was supposed to be used.
    "For the moment define LIT, as" seems clear enough.
    I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.
    Genius

    The super-sycophant DXforth says that I'm too stupid to follow Stephen Pelc's simple instruction to put DoNotSin after the definition of LIT, in my novice package.
    Lets see how well this works out in the following ANS-Forth code that crashes VFX:
    --------------------------------------------------------------------------
    : if
    state @ 0= if cr ." WARNING: *** no interpretation semantics for: IF ***" cr
    then postpone if ;
    immediate

    : test ( -- )
    dup 99 = if drop 88 then ;
    \ DoNotSin

    : test-test ( -- )
    cr 99 test .
    cr 77 test .
    ; --------------------------------------------------------------------------
    This code works fine without the IF disambiguifier, but with the IF disambiguifier,
    TEST-TEST crashes when it gets to the IF that is immediate.
    Stephen Pelc has sabotaged VFX to prevent it from compiling ANS-Forth code. Putting DoNotSin after the definition of TEST undoes the sabotage.
    I only have a hundred words in the novice package that use IF internally, so it should only take me a few days to make IF work again. I have 51 disambiguifiers though, so if Stephen Pelc sabotaged all of them, then he has defeated me!

    Stephen Pelc is deeply ashamed of the fact that he had to lie about the disambiguifiers.
    https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/EdktVVJ7BAAJ
    Here is the liar Stephen Pelc disgracing himself in public:
    Hugh's wonderful disambiguifiers do NOT do what the great Hugh thinks
    they do. What the great Hugh has done is to redefine a large number of
    words so that they behave in a very restricted way to support the
    great Hugh's version of Forth. Hugh's SYNONYM is not portable ANS
    Forth unless you use Hugh's Forth. Bah, humbug. Another emperor
    with no clothes.

    Stephen Pelc had to lie about the disambiguifiers because he sold his soul
    to Elizabeth Rather. The purpose of ANS-Forth was to declare UR/Forth to be non-standard by fiat. She could have declared everything from MPE to be non-standard too, and crushed MPE under her jack-boot just as she crushed
    LMI that was dominating the Forth market with UR/Forth. But MPE survived!
    She allowed MPE to survive because Forth Inc. needed somebody to write
    Forth code for them due to Forth Inc. having awesome marketing but no
    technical staff. So Stephen Pelc sold his soul for MPE to be allowed to survive.
    This is why, decades later, Stephen Pelc can't admit that the disambiguifiers fix FIND and tick in ANS-Forth because doing so would require him to admit
    that FIND and tick are broken in ANS-Forth, which would require him to admit that the ANS-Forth committee knew nothing about Forth programming.

    Stephen Pelc lied when he said that the disambiguifiers don't work.
    So now he sabotages VFX to prevent the disambiguifiers from working,
    but this sabotage can be undone with the DoNotSin patch.

    Why did Stephen Pelc provide the DoNotSin bug-fix patch?
    One reason is that I'm not the only Forth programmer who knows about
    the disambiguifiers and uses them to fix FIND and tick in ANS-Forth.
    It was Anton Ertl who told me about the disambiguifiers: https://groups.google.com/g/comp.lang.forth/c/wP5nw1ClzsM/m/E-TV9v2y9RoJ

    On Thursday, November 26, 2009 at 3:24:06 AM UTC-7, Anton Ertl wrote:
    Hugh Aguilar <hugoa...@rosycrew.com> writes:
    I don't understand how a word can not have execution semantics.
    ...
    I looked up ['] in the ANS-Forth document and it says:

    "Place name's execution token xt on the stack."
    What's the execution token of a word that has no execution semantics.
    Hmm, since you think that ";" is immediate, I guess you want an
    execution token that, when executed, performs the compilation
    semantics. You can get that as follows. Before the rest of the
    program, define:
    : ; postpone ; ; immediate
    Now you have an immediate ";" with an execution semantics that's the
    same as the compilation semantics, and you can tick it.

    Also, I have noticed that Bernd Paysan uses a disambiguifier in his
    Mini-OOF implementation to make FIND and tick work for one of the
    51 ambiguous words in ANS-Forth that FIND and tick don't work on.
    So, if Mini-OOF is going to work under VFX, and this is a disambiguifier
    that was sabotaged in VFX, Bernd Paysan the great and powerful Forth-200x committee member, will need to put DoNotSin in Mini-OOF for VFX to work.
    Bernd Paysan will look like a clown when he explains to his Mini-OOF users
    that VFX was sabotaged to prevent the disambiguifiers in my novice package
    from working, but DoNotSin is needed to make the disambiguifiers work in authorized ANS-Forth software such as Mini-OOF --- by "authorized" it is meant anything written by a Forth-200x committee member.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Mon Mar 27 12:16:43 2023
    On 27/03/2023 3:57 am, Hugh Aguilar wrote:
    On Thursday, March 16, 2023 at 6:56:47 PM UTC-7, dxforth wrote:
    On 17/03/2023 12:19 pm, Hugh Aguilar wrote:
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote: >>>> On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash:
    ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require
    DONOTSIN.

    Stephen

    ...
    You never said where exactly DoNotSin was supposed to be used.
    "For the moment define LIT, as" seems clear enough.
    I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.
    Genius

    The super-sycophant DXforth says that I'm too stupid to follow Stephen Pelc's simple instruction to put DoNotSin after the definition of LIT, in my novice package.
    Lets see how well this works out in the following ANS-Forth code that crashes VFX:

    My error. I should have known were you to encounter further issues it would be grist for the mill. ISTM there are several options. As an ANS end-user wait patiently until a solution filters through the system, abandon ANS portability and
    use VFX, SwiftForth etc for the purposes they were intended, or create your own Forth exactly the way you want it.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ruvim@21:1/5 to Ruvim on Mon Mar 27 06:02:25 2023
    On 2023-03-26 11:40, Ruvim wrote:
    On 2023-03-26 09:21, Anton Ertl wrote:
    [...]
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.


    I would suggest to add explicitly "text interpretation" into 3.3.3.6
    (i.e., fix the omission), and on the next iteration exclude both the
    word "WORD" and text interpretation from 3.3.3.6.

    Namely, replace:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word.

    by:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word, and text
    | interpretation can corrupt the region identified by #>.


    And on the next iteration remove this connection of "WORD" and "#>" at
    all (the corresponding regions will no longer be allowed to overlap in memory).

    Or just remove this connection of "WORD" and "#>" from 3.3.3.6 at once.

    I believe, "text interpretation" and "WORD" should be either *both*
    present or *both* absent in this connection with "#>" to avoid a confusion.



    Can anybody provide an example of a Forth-94 or Forth-2012 compliance
    Forth system, in which the regions returned by "WORD" and "#>" are
    overlapped in memory? [1]

    [1] See: https://forth-standard.org/standard/usage#usage:transient


    --
    Ruvim

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Hugh Aguilar on Sun Mar 26 23:21:26 2023
    On Sunday, 26 March 2023 at 17:57:38 UTC+1, Hugh Aguilar wrote:
    On Thursday, March 16, 2023 at 6:56:47 PM UTC-7, dxforth wrote:
    On 17/03/2023 12:19 pm, Hugh Aguilar wrote:
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash:
    ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require
    DONOTSIN.

    Stephen

    ...
    You never said where exactly DoNotSin was supposed to be used.
    "For the moment define LIT, as" seems clear enough.
    I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.
    Genius
    The super-sycophant DXforth says that I'm too stupid to follow Stephen Pelc's
    simple instruction to put DoNotSin after the definition of LIT, in my novice package.
    Lets see how well this works out in the following ANS-Forth code that crashes VFX:
    --------------------------------------------------------------------------
    : if
    state @ 0= if cr ." WARNING: *** no interpretation semantics for: IF ***" cr then postpone if ;
    immediate

    : test ( -- )
    dup 99 = if drop 88 then ;
    \ DoNotSin

    : test-test ( -- )
    cr 99 test .
    cr 77 test .
    ;
    -------------------------------------------------------------------------- This code works fine without the IF disambiguifier, but with the IF disambiguifier,
    TEST-TEST crashes when it gets to the IF that is immediate.
    Stephen Pelc has sabotaged VFX to prevent it from compiling ANS-Forth code. Putting DoNotSin after the definition of TEST undoes the sabotage.
    I only have a hundred words in the novice package that use IF internally, so it
    should only take me a few days to make IF work again. I have 51 disambiguifiers
    though, so if Stephen Pelc sabotaged all of them, then he has defeated me!

    Stephen Pelc is deeply ashamed of the fact that he had to lie about the disambiguifiers.
    https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/EdktVVJ7BAAJ Here is the liar Stephen Pelc disgracing himself in public:
    Hugh's wonderful disambiguifiers do NOT do what the great Hugh thinks
    they do. What the great Hugh has done is to redefine a large number of words so that they behave in a very restricted way to support the
    great Hugh's version of Forth. Hugh's SYNONYM is not portable ANS
    Forth unless you use Hugh's Forth. Bah, humbug. Another emperor
    with no clothes.

    Stephen Pelc had to lie about the disambiguifiers because he sold his soul to Elizabeth Rather. The purpose of ANS-Forth was to declare UR/Forth to be non-standard by fiat. She could have declared everything from MPE to be non-standard too, and crushed MPE under her jack-boot just as she crushed LMI that was dominating the Forth market with UR/Forth. But MPE survived! She allowed MPE to survive because Forth Inc. needed somebody to write
    Forth code for them due to Forth Inc. having awesome marketing but no technical staff. So Stephen Pelc sold his soul for MPE to be allowed to survive.
    This is why, decades later, Stephen Pelc can't admit that the disambiguifiers
    fix FIND and tick in ANS-Forth because doing so would require him to admit that FIND and tick are broken in ANS-Forth, which would require him to admit that the ANS-Forth committee knew nothing about Forth programming.

    Stephen Pelc lied when he said that the disambiguifiers don't work.
    So now he sabotages VFX to prevent the disambiguifiers from working,
    but this sabotage can be undone with the DoNotSin patch.

    Why did Stephen Pelc provide the DoNotSin bug-fix patch?
    One reason is that I'm not the only Forth programmer who knows about
    the disambiguifiers and uses them to fix FIND and tick in ANS-Forth.
    It was Anton Ertl who told me about the disambiguifiers: https://groups.google.com/g/comp.lang.forth/c/wP5nw1ClzsM/m/E-TV9v2y9RoJ

    On Thursday, November 26, 2009 at 3:24:06 AM UTC-7, Anton Ertl wrote:
    Hugh Aguilar <hugoa...@rosycrew.com> writes:
    I don't understand how a word can not have execution semantics.
    ...
    I looked up ['] in the ANS-Forth document and it says:

    "Place name's execution token xt on the stack."
    What's the execution token of a word that has no execution semantics.
    Hmm, since you think that ";" is immediate, I guess you want an
    execution token that, when executed, performs the compilation
    semantics. You can get that as follows. Before the rest of the
    program, define:
    : ; postpone ; ; immediate
    Now you have an immediate ";" with an execution semantics that's the
    same as the compilation semantics, and you can tick it.

    Also, I have noticed that Bernd Paysan uses a disambiguifier in his
    Mini-OOF implementation to make FIND and tick work for one of the
    51 ambiguous words in ANS-Forth that FIND and tick don't work on.
    So, if Mini-OOF is going to work under VFX, and this is a disambiguifier that was sabotaged in VFX, Bernd Paysan the great and powerful Forth-200x committee member, will need to put DoNotSin in Mini-OOF for VFX to work. Bernd Paysan will look like a clown when he explains to his Mini-OOF users that VFX was sabotaged to prevent the disambiguifiers in my novice package from working, but DoNotSin is needed to make the disambiguifiers work in authorized ANS-Forth software such as Mini-OOF --- by "authorized" it is meant
    anything written by a Forth-200x committee member.


    Why do you not stop telling lies about the Forth people here.

    The ones here for longer know you as the

    FORTH KILLER

    The new ones should see what you are trying to do.

    Get back to your plumbing job,

    or drive your taxi.

    STOP INSULTING PEOPLE HERE.

    You should recognize the facts - or you might be mentally not capable to do so.

    https://forth-standard.org/standard/members-2x

    Membership
    This document is maintained by the Forth 200x Standards Committee. The committee meetings are open to the public, anybody is allowed to join the committee in its deliberations.
    Membership of the committee is open to anybody who can attend. On attending a meeting of any kind a non-member becomes an observing member (observer). If they attend the next voting meeting, they will become a voting member of the committee, otherwise
    they revert to non-member status. An observer will not normally be allowed to vote, but may be allowed at the discretion of the committee. A member will be deemed to have resigned from the committee if they fail to attend two consecutive voting meetings.

    Currently the committee has the following voting members:

    Dr. M. Anton Ertl (Chair) Technische Universität Wien
    Wien, Austria

    Dr. Peter Knaggs (Editor) Independent Member
    Trowbridge, UK

    Willem Botha Construction Computer Software (Pty) Ltd
    Cape Town, South Africa

    Andrew Haley Red Hat UK Ltd.
    Cambridge, UK

    Dr. Ulrich Hoffmann FH Wedel
    Wedel, Germany

    Simon Kaphahn Independent Member
    Munich, Germany

    Bernd Paysan Net2o
    Munich, Germany

    Stephen Pelc MicroProcessor Engineering Ltd.
    Southampton, UK

    Dr. Willi Stricker Independent Member
    Springe, Germany

    Leon Wagner FORTH, Inc.
    Los Angeles, USA

    Gerald Wodni Independent Member
    Wien, Austria

    The following organizations and individuals have also participated in this project as committee members. The committee recognizes and respects their contributions:

    Federico de Ceballos Universidad de Cantabria
    Santander, Spain

    Dr. Bill Stoddart Teesside University
    Middlesbrough, UK

    Carsten Strotmann Independent Member
    Neuenkirchen, Germany

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Jurgen Pitaske on Mon Mar 27 00:24:23 2023
    On Monday, 27 March 2023 at 07:21:28 UTC+1, Jurgen Pitaske wrote:
    On Sunday, 26 March 2023 at 17:57:38 UTC+1, Hugh Aguilar wrote:
    On Thursday, March 16, 2023 at 6:56:47 PM UTC-7, dxforth wrote:
    On 17/03/2023 12:19 pm, Hugh Aguilar wrote:
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com> >> wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash: >>> ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require
    DONOTSIN.

    Stephen

    ...
    You never said where exactly DoNotSin was supposed to be used.
    "For the moment define LIT, as" seems clear enough.
    I assumed that this
    was after every word that contained POSTPONE LITERAL although you hadn't said so.
    Genius
    The super-sycophant DXforth says that I'm too stupid to follow Stephen Pelc's
    simple instruction to put DoNotSin after the definition of LIT, in my novice package.
    Lets see how well this works out in the following ANS-Forth code that crashes VFX:
    -------------------------------------------------------------------------- : if
    state @ 0= if cr ." WARNING: *** no interpretation semantics for: IF ***" cr
    then postpone if ;
    immediate

    : test ( -- )
    dup 99 = if drop 88 then ;
    \ DoNotSin

    : test-test ( -- )
    cr 99 test .
    cr 77 test .
    ; -------------------------------------------------------------------------- This code works fine without the IF disambiguifier, but with the IF disambiguifier,
    TEST-TEST crashes when it gets to the IF that is immediate.
    Stephen Pelc has sabotaged VFX to prevent it from compiling ANS-Forth code.
    Putting DoNotSin after the definition of TEST undoes the sabotage.
    I only have a hundred words in the novice package that use IF internally, so it
    should only take me a few days to make IF work again. I have 51 disambiguifiers
    though, so if Stephen Pelc sabotaged all of them, then he has defeated me!

    Stephen Pelc is deeply ashamed of the fact that he had to lie about the disambiguifiers.
    https://groups.google.com/g/comp.lang.forth/c/T-yYkpVwYew/m/EdktVVJ7BAAJ Here is the liar Stephen Pelc disgracing himself in public:
    Hugh's wonderful disambiguifiers do NOT do what the great Hugh thinks they do. What the great Hugh has done is to redefine a large number of words so that they behave in a very restricted way to support the
    great Hugh's version of Forth. Hugh's SYNONYM is not portable ANS
    Forth unless you use Hugh's Forth. Bah, humbug. Another emperor
    with no clothes.

    Stephen Pelc had to lie about the disambiguifiers because he sold his soul to Elizabeth Rather. The purpose of ANS-Forth was to declare UR/Forth to be
    non-standard by fiat. She could have declared everything from MPE to be non-standard too, and crushed MPE under her jack-boot just as she crushed LMI that was dominating the Forth market with UR/Forth. But MPE survived! She allowed MPE to survive because Forth Inc. needed somebody to write Forth code for them due to Forth Inc. having awesome marketing but no technical staff. So Stephen Pelc sold his soul for MPE to be allowed to survive.
    This is why, decades later, Stephen Pelc can't admit that the disambiguifiers
    fix FIND and tick in ANS-Forth because doing so would require him to admit that FIND and tick are broken in ANS-Forth, which would require him to admit
    that the ANS-Forth committee knew nothing about Forth programming.

    Stephen Pelc lied when he said that the disambiguifiers don't work.
    So now he sabotages VFX to prevent the disambiguifiers from working,
    but this sabotage can be undone with the DoNotSin patch.

    Why did Stephen Pelc provide the DoNotSin bug-fix patch?
    One reason is that I'm not the only Forth programmer who knows about
    the disambiguifiers and uses them to fix FIND and tick in ANS-Forth.
    It was Anton Ertl who told me about the disambiguifiers: https://groups.google.com/g/comp.lang.forth/c/wP5nw1ClzsM/m/E-TV9v2y9RoJ

    On Thursday, November 26, 2009 at 3:24:06 AM UTC-7, Anton Ertl wrote:
    Hugh Aguilar <hugoa...@rosycrew.com> writes:
    I don't understand how a word can not have execution semantics.
    ...
    I looked up ['] in the ANS-Forth document and it says:

    "Place name's execution token xt on the stack."
    What's the execution token of a word that has no execution semantics. Hmm, since you think that ";" is immediate, I guess you want an execution token that, when executed, performs the compilation
    semantics. You can get that as follows. Before the rest of the
    program, define:
    : ; postpone ; ; immediate
    Now you have an immediate ";" with an execution semantics that's the same as the compilation semantics, and you can tick it.

    Also, I have noticed that Bernd Paysan uses a disambiguifier in his Mini-OOF implementation to make FIND and tick work for one of the
    51 ambiguous words in ANS-Forth that FIND and tick don't work on.
    So, if Mini-OOF is going to work under VFX, and this is a disambiguifier that was sabotaged in VFX, Bernd Paysan the great and powerful Forth-200x committee member, will need to put DoNotSin in Mini-OOF for VFX to work. Bernd Paysan will look like a clown when he explains to his Mini-OOF users that VFX was sabotaged to prevent the disambiguifiers in my novice package from working, but DoNotSin is needed to make the disambiguifiers work in authorized ANS-Forth software such as Mini-OOF --- by "authorized" it is meant
    anything written by a Forth-200x committee member.
    Why do you not stop telling lies about the Forth people here.

    The ones here for longer know you as the

    FORTH KILLER

    The new ones should see what you are trying to do.

    Get back to your plumbing job,

    or drive your taxi.

    STOP INSULTING PEOPLE HERE.

    You should recognize the facts - or you might be mentally not capable to do so.

    https://forth-standard.org/standard/members-2x

    Membership
    This document is maintained by the Forth 200x Standards Committee. The committee meetings are open to the public, anybody is allowed to join the committee in its deliberations.
    Membership of the committee is open to anybody who can attend. On attending a meeting of any kind a non-member becomes an observing member (observer). If they attend the next voting meeting, they will become a voting member of the committee, otherwise
    they revert to non-member status. An observer will not normally be allowed to vote, but may be allowed at the discretion of the committee. A member will be deemed to have resigned from the committee if they fail to attend two consecutive voting meetings.

    Currently the committee has the following voting members:

    Dr. M. Anton Ertl (Chair) Technische Universität Wien
    Wien, Austria

    Dr. Peter Knaggs (Editor) Independent Member
    Trowbridge, UK

    Willem Botha Construction Computer Software (Pty) Ltd
    Cape Town, South Africa

    Andrew Haley Red Hat UK Ltd.
    Cambridge, UK

    Dr. Ulrich Hoffmann FH Wedel
    Wedel, Germany

    Simon Kaphahn Independent Member
    Munich, Germany

    Bernd Paysan Net2o
    Munich, Germany

    Stephen Pelc MicroProcessor Engineering Ltd.
    Southampton, UK

    Dr. Willi Stricker Independent Member
    Springe, Germany

    Leon Wagner FORTH, Inc.
    Los Angeles, USA

    Gerald Wodni Independent Member
    Wien, Austria

    The following organizations and individuals have also participated in this project as committee members. The committee recognizes and respects their contributions:

    Federico de Ceballos Universidad de Cantabria
    Santander, Spain

    Dr. Bill Stoddart Teesside University
    Middlesbrough, UK

    Carsten Strotmann Independent Member
    Neuenkirchen, Germany

    And as everybody can see,

    this Forth Standard seems to have not much to do with the US,
    and especially with the FORTH KILLER Hugh Aguilar.

    Just check the list of voting members:

    Europe
    South Africa

    And just one person from the US: Leon Wagner FORTH Inc.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From none) (albert@21:1/5 to ruvim.pinka@gmail.com on Mon Mar 27 12:31:25 2023
    In article <tvrbhi$33gfk$1@dont-email.me>,
    Ruvim <ruvim.pinka@gmail.com> wrote:
    On 2023-03-26 11:40, Ruvim wrote:
    On 2023-03-26 09:21, Anton Ertl wrote:
    [...]
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.


    I would suggest to add explicitly "text interpretation" into 3.3.3.6
    (i.e., fix the omission), and on the next iteration exclude both the
    word "WORD" and text interpretation from 3.3.3.6.

    Namely, replace:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word.

    by:

    | Consequently, use of one of these words can corrupt
    | a region returned earlier by a different word, and text
    | interpretation can corrupt the region identified by #>.


    And on the next iteration remove this connection of "WORD" and "#>" at
    all (the corresponding regions will no longer be allowed to overlap in
    memory).

    Or just remove this connection of "WORD" and "#>" from 3.3.3.6 at once.

    I believe, "text interpretation" and "WORD" should be either *both*
    present or *both* absent in this connection with "#>" to avoid a confusion.



    Can anybody provide an example of a Forth-94 or Forth-2012 compliance
    Forth system, in which the regions returned by "WORD" and "#>" are
    overlapped in memory? [1]

    The FIG traditional use is to have PAD offset from HERE, f.i. 256 bytes
    (word string) and some extra 128 ( printing a double precision in binary) Numbers grow down from PAD. WORD fill up the region from [HERE .. PAD]
    from below, and number build-up fill from the top.
    These could clash in case that are especially constructed, but this is contrived.

    ciforth follows that transition and could possibly be an example. WORD
    is not favoured in modern Forth's and it is a loadable extension in
    ciforth since version 5.
    It make no sense to make the offset of PAD
    larger to keep malicious people at bay,
    in view of the fact that
    an unlimited number of characters can
    inserted with HOLD, and WORD is disfavoured anyway.

    You can find ADA if you needs it.

    Groetjes Albert





    [1] See: https://forth-standard.org/standard/usage#usage:transient


    --
    Ruvim

    --
    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 -

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Pelc@21:1/5 to All on Mon Mar 27 11:04:16 2023
    On 26 Mar 2023 at 11:21:56 CEST, "Anton Ertl" <Anton Ertl> wrote:

    As the standard is currently written, iForth and VFX are buggy.
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    Already fixed in the source tree.

    Stephen
    --
    Stephen Pelc, stephen@vfxforth.com
    MicroProcessor Engineering, Ltd. - More Real, Less Time
    133 Hill Lane, Southampton SO15 5AF, England
    tel: +44 (0)23 8063 1441, +44 (0)78 0390 3612,
    +34 649 662 974
    http://www.mpeforth.com - free VFX Forth downloads

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Tue Mar 28 01:53:36 2023
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    Ruvim <ruvim.pinka@gmail.com> writes:
    Since the word "WORD" is required, while "PARSE-NAME" is optional, a
    system may use "WORD" doing text interpretation (in the same extent as
    it may allocate data space on creating a definition). Also, it was a
    common practice in 1994. Consequently, this region can be corrupted
    doing text interpretation (namely, doing parsing).

    That may or may not have been intended, but that's not what was stated.

    Interestingly, looking at the tests for <# # #S HOLD SIGN #>, all of
    them put all the hold buffer stuff (including the test of the result)
    inside colon definitions, so they will not complain about a system
    where the hold buffer is destroyed by text interpretation.

    Let's see how systems fare:

    123456789. <# #s #> type

    123456789. <# #s #>
    type

    All of Gforth, iForth, lxf, SwiftForth 4.0.0-RC52, and VFX 64 5.11 RC2
    output 123456789 twice when loading this from a file.

    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2

    Pasting does not work properly with lxf, and I am too lazy to type
    this stuff in again.

    As the standard is currently written, iForth and VFX are buggy.

    ANS-Forth was meant to reflect the reality of existing forth systems
    of the day - not invent a new reality. Either the Standard failed
    in its task, or you have interpreted it incorrectly.

    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    Did you survey users that you speak for them? Less work for whom?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Ruvim on Mon Mar 27 14:46:23 2023
    Ruvim <ruvim.pinka@gmail.com> writes:
    Can anybody provide an example of a Forth-94 or Forth-2012 compliance
    Forth system, in which the regions returned by "WORD" and "#>" are
    overlapped in memory? [1]

    In early Gforth they grow into each other, but the size of the
    combined buffer is the sum of the sizes that the standard guarantees
    for each buffer; so a standard program (in this case standard wrt. not
    needing more of these buffers than the standard guarantees) will not
    see the overlap.

    In particular, in Gforth 0.3.0 on a 32-bit system the combined WORD
    and hold buffer has 100 bytes (good for 32 bytes of WORD result and 68
    bytes of hold buffer). Now if you exceed one of the limits, you see
    the overlap:

    : foo bl word 0. <# 95 0 do [char] x hold loop #> 2drop count type ;
    foo abcdefghijklmnopqrst \ outputs: abcdxxxxxxxxxxxxxxxx

    Whether you consider this an overlapped buffer or a case of buffer
    overflow is up to you.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to dxforth on Mon Mar 27 14:35:29 2023
    On Monday, March 27, 2023 at 7:53:41 AM UTC-7, dxforth wrote:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    As the standard is currently written, iForth and VFX are buggy.
    ANS-Forth was meant to reflect the reality of existing forth systems
    of the day - not invent a new reality.

    To say that ANS-Forth reflected the reality of existing Forth systems is
    an insult to all Forth programmers because it implies mental retardation. DXforth is lying! This is just more of his usual stream of anti-standard
    drivel in which he says that because ANS-Forth is retarded, any Forth
    standard must be retarded too.

    UR/Forth dominated the Forth world in the early 1990s. It was the only
    Forth system available that was capable of professional use. Forth Inc.,
    MPE, etc. had Forth systems that trailed far behind UR/Forth in popularity
    and were not really capable of professional use. Tom Zimmerman and
    Tom Almy had Forth systems that were better than anything that Forth Inc.
    or MPE had, but were still not at the same level as UR/Forth. Of course UR/Forth had a circular buffer for strings! I got the idea from UR/Forth.

    On Monday, March 27, 2023 at 3:31:28 AM UTC-7, none albert wrote:
    The FIG traditional use is to have PAD offset from HERE, f.i. 256 bytes (word string) and some extra 128 ( printing a double precision in binary) Numbers grow down from PAD. WORD fill up the region from [HERE .. PAD]
    from below, and number build-up fill from the top.
    These could clash in case that are especially constructed, but this is contrived.

    ciforth follows that transition and could possibly be an example.

    An example of what, mental retardation?
    BTW: the word is "tradition," not "transition."

    On Monday, March 27, 2023 at 7:58:25 AM UTC-7, Anton Ertl wrote:
    Ruvim <ruvim...@gmail.com> writes:
    Can anybody provide an example of a Forth-94 or Forth-2012 compliance >Forth system, in which the regions returned by "WORD" and "#>" are >overlapped in memory? [1]
    In early Gforth they grow into each other, but the size of the
    combined buffer is the sum of the sizes that the standard guarantees
    for each buffer; so a standard program (in this case standard wrt. not needing more of these buffers than the standard guarantees) will not
    see the overlap.

    In particular, in Gforth 0.3.0 on a 32-bit system the combined WORD
    and hold buffer has 100 bytes (good for 32 bytes of WORD result and 68
    bytes of hold buffer). Now if you exceed one of the limits, you see
    the overlap:

    All of this talk about WORD and <# #> buffers is pseudo-intellectual blather. It is typical on comp.lang.forth to get a lot of pseudo-intellectual blather that allows the Forth-200x to appear to be mighty Forth programmers
    without requiring them to do any Forth programming, or even to know
    basic concepts of computer science.

    I wrote a circular buffer for strings about a decade ago, and I rewrote
    WORD and <# #> to use it. I also rewrote S" and C" to use it in
    interpretive mode. It currently has 16 levels of 256-byte strings (4KB), but
    I could upgrade this easily. The days of the PDP-11 are long past when we
    had only a few KB available. The circular buffer is for temporary storage
    of strings, so any string needed for long-term use should be copied
    to the heap with HSTR no matter how many levels the buffer has.

    The ANS-Forth committee (which included Stephen Pelc) was obviously
    incapable of implementing a circular buffer or they would have done so
    in 1994. The Forth-200x committee (the Committee of Can't) continues
    to be incapable of implementing a circular buffer in the year 2023.
    All they have to offer is pseudo-intellectual blather about using static buffers the same way that Charles Moore did in the 1970s (he got
    kicked out of Forth Inc. in 1982, but he would have presumably upgraded
    to a circular buffer for strings if he had continued contributing to Forth).

    Implementing a circular buffer for strings is somewhat difficult. I did this, but I was having difficulty with nesting <CSTR CSTR> string-builders,
    such as for nested <# #> strings. Raimond Dragomir gave me some advice
    on how to do this, and that worked well. :-) I'm willing to take advice from real programmers --- comp.lang.forth is a waste of time though, which is why
    I mostly ignore comp.lang.forth now --- I just came here now to point out that Stephen Pelc sabotaged VFX to prevent it from compiling ANS-Forth code
    for the purpose of preventing my novice-package from working. Then,
    humorously Stephen Pelc admitted to sabotaging VFX and told us about the DoNotSin patch that undoes his sabotage (VFX is still non-compliant with ANS-Forth though, because DoNotSin is not an ANS-Forth word). I find it humorous that he now has to explain to his customers about the DoNotSin
    patch that undoes his sabotage. This kind of pettiness and meanness
    must certainly make his customers think about switching to C programming.
    By sabotaging VFX to make it fail on ANS-Forth, he is literally a "Forth Killer."

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Tue Mar 28 11:06:38 2023
    On 28/03/2023 8:35 am, Hugh Aguilar wrote:
    On Monday, March 27, 2023 at 7:53:41 AM UTC-7, dxforth wrote:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    As the standard is currently written, iForth and VFX are buggy.
    ANS-Forth was meant to reflect the reality of existing forth systems
    of the day - not invent a new reality.

    To say that ANS-Forth reflected the reality of existing Forth systems is
    an insult to all Forth programmers because it implies mental retardation. DXforth is lying! This is just more of his usual stream of anti-standard drivel in which he says that because ANS-Forth is retarded, any Forth standard must be retarded too.

    UR/Forth dominated the Forth world in the early 1990s. It was the only
    Forth system available that was capable of professional use.

    "FORTH Inc., with Elizabeth Rather as president, is clearly the flagship of the vendors; its revenues and staff exceed those of all the other Forth software houses taken together. Only FORTH Inc. has achieved the critical mass to offer a complete range of services: consulting, custom applications programming, education, and tools; the other vendors appear to subsist almost entirely on sales of packaged development systems.
    ...
    In 1987, we entered the era of Forth maturation and true standardization. The ANSI Forth Technical Committee (X3J14), which operated under the auspices of both CBEMA and the IEEE Computer Society, made slow but steady progress reconciling the existing Forth dialects, and the after many revisions the committee's work was finally approved as the American National Standard for Forth Programming Language in the Spring of 1994. While an ANSI Forth Standard will not be an instant cure for all Forth's ills, it should drastically improve portability of both Forth applications and Forth programmers, and thus make Forth a more viable candidate for consideration by project planners."

    That's from an article Ray originally wrote in 1988 and updated post-ANS.
    Just as Ray accepted Big Brother, perhaps you should too. It's only been
    30 years. There is still time.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Tue Mar 28 05:53:08 2023
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2

    Pasting does not work properly with lxf, and I am too lazy to type
    this stuff in again.

    As the standard is currently written, iForth and VFX are buggy.

    ANS-Forth was meant to reflect the reality of existing forth systems
    of the day - not invent a new reality. Either the Standard failed
    in its task, or you have interpreted it incorrectly.

    Or the Forth systems of the day did not have this bug, and it was
    introduced later.

    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    Did you survey users that you speak for them?

    My statement is based on the notion that it serves the users if they
    are able to interactively test code, including code that uses the hold
    buffer. Many people, including Forth system vendors like Elizabeth
    Rather, have repeatedly pointed to interactive testing as one of the
    big advantages of Forth. Do you think that they are wrong, and that
    Forth users don't care for this feature?

    Less work for whom?

    Less work for the implementor of a Forth system that has this bug, and
    where the implementor would take one of these two courses of action to
    remedy this situation.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Tue Mar 28 17:57:52 2023
    On 28/03/2023 4:53 pm, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2

    Pasting does not work properly with lxf, and I am too lazy to type
    this stuff in again.

    As the standard is currently written, iForth and VFX are buggy.

    ANS-Forth was meant to reflect the reality of existing forth systems
    of the day - not invent a new reality. Either the Standard failed
    in its task, or you have interpreted it incorrectly.

    Or the Forth systems of the day did not have this bug, and it was
    introduced later.

    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    Did you survey users that you speak for them?

    My statement is based on the notion that it serves the users if they
    are able to interactively test code, including code that uses the hold buffer. Many people, including Forth system vendors like Elizabeth
    Rather, have repeatedly pointed to interactive testing as one of the
    big advantages of Forth. Do you think that they are wrong, and that
    Forth users don't care for this feature?

    How is splitting #> TYPE across lines a feature? Other than Hugh and yourself, I don't know any users who insist it should work. I imagine
    most users have attempted to split >R ... R> across lines and found it
    fails miserably. Are they devastated? Not that I've seen. On the
    contrary, they're inspired to find out why it doesn't work leading to a
    better understanding of forth. Protect users from themselves? No - nor
    has any user asked me.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to dxforth on Tue Mar 28 08:24:35 2023
    dxforth <dxforth@gmail.com> writes:
    On 28/03/2023 4:53 pm, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:

    123456789. <# #s #> type

    123456789. <# #s #>
    type

    When cutting and pasting this into interactive text interpretation, we see the following:

    1st output 2nd output
    123456789 123456789 gforth
    123456789 123456782 iforth
    123456789 123456789 SwiftForth x64-Linux 4.0.0-RC52
    123456789 123456782 VFX Forth 64 5.11 RC2
    ...
    My statement is based on the notion that it serves the users if they
    are able to interactively test code, including code that uses the hold
    buffer. Many people, including Forth system vendors like Elizabeth
    Rather, have repeatedly pointed to interactive testing as one of the
    big advantages of Forth. Do you think that they are wrong, and that
    Forth users don't care for this feature?

    How is splitting #> TYPE across lines a feature?

    Has always been, will always be. It's part of the interactive nature
    of Forth. And given the idea that all text interpretation may corrupt
    the hold buffer, the first output would not be guaranteed, either; the suggestion is that all interactive of testing of stuff involving the
    hold buffer should become non-standard.

    And on buggy systems, it's not just "splitting #> TYPE across lines":
    When I do

    123456789. <# #s
    type

    on iForth, it outputs "2".

    Other than Hugh and
    yourself, I don't know any users who insist it should work. I imagine
    most users have attempted to split >R ... R> across lines and found it >fails miserably.

    Really? I just tried

    1234 >r
    .

    on development Gforth and it outputs "1234". See

    @Misc{ef2019:rs-int,
    author = {M. Anton Ertl},
    title = {Interactive multiline \code{>R R>} in {Gforth}},
    howpublished = {https://wiki.forth-ev.de/doku.php/events:ef2019:rs-int},
    year = {2019},
    note = {Video of otherwise unpublished talk at EuroForth 2019}
    }

    If you support interactive use of >R R> at all, it's better to do it
    across lines. Why should a user who wants to test a program that has
    the >R on one line and the R> on another one have to jump through
    hoops for interactive testing of this code (supposedly a forte of
    Forth).

    On the
    contrary, they're inspired to find out why it doesn't work leading to a >better understanding of forth.

    It may lead to a better understanding of your particular Forth
    implementation (and the user-hostile attitude behind it), not of Forth
    in general, as demonstrated by the fact that Gforth supports
    return-stack usage across lines.

    No - nor
    has any user asked me.

    I have not reported a bug in systemd, because the systemd maintainers
    have clearly indicated that they will ignore bug reports. They could rightfully say that nobody has asked them to fix the bug. That does
    not mean that the bug is not annoying, and that I as user would not
    prefer that the bug was fixed.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ruvim@21:1/5 to dxforth on Tue Mar 28 09:53:12 2023
    On 2023-03-28 06:57, dxforth wrote:
    On 28/03/2023 4:53 pm, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    On 26/03/2023 8:21 pm, Anton Ertl wrote:
    [...]
    Someone could propose to allow text-interpretation to invalidate the
    hold buffer, but IMO it's both less work and serves users better if
    the maintainers of iForth and VFX just fixed that bug.

    Did you survey users that you speak for them?

    My statement is based on the notion that it serves the users if they
    are able to interactively test code, including code that uses the hold
    buffer.  Many people, including Forth system vendors like Elizabeth
    Rather, have repeatedly pointed to interactive testing as one of the
    big advantages of Forth.  Do you think that they are wrong, and that
    Forth users don't care for this feature?

    How is splitting  #> TYPE  across lines a feature?

    If the regions identified by "#>" and "WORD" are overlapped, and the
    Forth text interpreter employs this "WORD", your example can fail even
    in a single line. Since, when the system extracts the lexeme "TYPE", in
    some cases it can place this lexeme as a counted string into the region identified by "#>".


    "WORD" can be used in a user-defined text interpreter. So, if the
    system's text interpreter does not affect the hold buffer, "WORD" should
    not affect it to.

    Therefore, "WORD" should have been untangled with the pictured numeric
    output words, I think.


    --
    Ruvim

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Anton Ertl on Tue Mar 28 21:27:55 2023
    On 28/03/2023 7:24 pm, Anton Ertl wrote:
    dxforth <dxforth@gmail.com> writes:
    ...
    Other than Hugh and
    yourself, I don't know any users who insist it should work. I imagine
    most users have attempted to split >R ... R> across lines and found it
    fails miserably.

    Really? I just tried

    1234 >r
    .

    on development Gforth and it outputs "1234". See

    @Misc{ef2019:rs-int,
    author = {M. Anton Ertl},
    title = {Interactive multiline \code{>R R>} in {Gforth}},
    howpublished = {https://wiki.forth-ev.de/doku.php/events:ef2019:rs-int},
    year = {2019},
    note = {Video of otherwise unpublished talk at EuroForth 2019}
    }

    If you support interactive use of >R R> at all, it's better to do it
    across lines. Why should a user who wants to test a program that has
    the >R on one line and the R> on another one have to jump through
    hoops for interactive testing of this code (supposedly a forte of
    Forth).

    Your user should try screens :)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Ruvim on Tue Mar 28 21:51:41 2023
    On 28/03/2023 8:53 pm, Ruvim wrote:

    If the regions identified by "#>" and "WORD" are overlapped, and the Forth text interpreter employs this "WORD",  your example can fail even in a single line. Since, when the system extracts the lexeme "TYPE", in some cases it can place this lexeme as
    a counted string into the region identified by "#>".


    "WORD" can be used in a user-defined text interpreter. So, if the system's text interpreter does not affect the hold buffer, "WORD" should not affect it to.

    Therefore, "WORD" should have been untangled with the pictured numeric output words, I think.

    It worked well enough in the past. Wasn't the plan to make WORD and FIND obsolete?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hans Bezemer@21:1/5 to Ruvim on Tue Mar 28 06:24:37 2023
    On Tuesday, March 28, 2023 at 11:53:16 AM UTC+2, Ruvim wrote:
    How is splitting #> TYPE across lines a feature?
    If the regions identified by "#>" and "WORD" are overlapped, and the
    Forth text interpreter employs this "WORD", your example can fail even
    in a single line. Since, when the system extracts the lexeme "TYPE", in
    some cases it can place this lexeme as a counted string into the region identified by "#>".

    My two cents. Of course, all this only refers to 4tH, but may be others get some inspiration from it.

    Issue 1: I've never had any issues with the (static) HOLD area. It is sized in such a way that a binary 64-bit number can be printed - TWICE. Still, the
    HOLD buffer and the PAD share the same area in 4tH.

    The PAD may bleed into the HOLD area (and even beyond), but you really
    have to seek out to do that. Likewise with HOLD. So, in "normal" computer programs they practically never clobber since the PAD acts like a circular buffer (respecting the HOLD area) and HOLD grows from the end of that
    same buffer.

    Issue 2: You know that if you generate a number using <#, #, #S and #>
    that it is volatile and you have to consume it as quickly as possible by
    either printing it or saving it to another buffer. You can leave it lingering.

    So, if you don't perform one of those actions, you're to blame. Therefor
    it is best to generate a number representation as late as possible. IMHO
    if you don't know that, you shouldn't do Forth.

    The only time I was confronted with this problem was when I was
    examining the HOLD buffer while performing some debugging. Sure,
    whatever .S produced came out wrong. I clearly remember calling myself
    stupid at that time.

    "WORD" can be used in a user-defined text interpreter. So, if the
    system's text interpreter does not affect the hold buffer, "WORD" should
    not affect it to.

    Therefore, "WORD" should have been untangled with the pictured numeric output words, I think.

    Issue 3: Why is ANYONE still using WORD?! I've discarded support for this
    word ages ago - in favor of PARSE and PARSE-WORD. It's much more
    natural - and handy (since it returns a addr/count string). WORD is also clunky, because it copies stuff without a good reason.

    Issue 4: "123456789 <# #s
    type" returns in 4tH exactly what it is supposed to return. But that is
    because all white space is treated equal while compiling - and because
    there is no interactive mode.

    In short, although I have a single HOLD buffer it has never bothered me
    before - and I was somewhat surprised to find that some people require
    multiple buffers. I never felt the need for that, actually.

    Hans Bezemer

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hans Bezemer on Wed Mar 29 11:30:27 2023
    On 29/03/2023 12:24 am, Hans Bezemer wrote:
    ...
    The only time I was confronted with this problem was when I was
    examining the HOLD buffer while performing some debugging. Sure,
    whatever .S produced came out wrong. I clearly remember calling myself
    stupid at that time.

    I'm shocked that 4tH could treat you so badly. After all it wasn't your
    fault. I support the public outing of renegade systems. Win32Forth can
    be included. I happened to be interactively testing a problem with it
    last night. Not once did I get the urge to put something in the HOLD
    buffer, press Return and dump the contents. I can't explain how Win32Forth managed it but it wouldn't show me its true face. It unsettled me greatly
    to be a tool of this devil.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Stephen Pelc on Tue Mar 28 18:05:18 2023
    On Sunday, February 26, 2023 at 4:39:33 AM UTC-7, Stephen Pelc wrote:
    On 25 Feb 2023 at 07:20:23 CET, "dxforth" <dxf...@gmail.com> wrote:

    On 25/02/2023 4:07 pm, Hugh Aguilar wrote:

    Are you planning on describing this bug fix publicly?
    More likely, you will provide the bug fix only to the verklempt worms --- >> your sycophants.

    When may we expect your fix for the f/p output bug in the novice pack?
    I'm not touching the novice code. That's for Hugh and his sycophants.

    This isn't true, of course.
    You touched my novice package by sabotaging VFX to prevent VFX from
    compiling ANS-Forth code, which my novice package needs.
    You sabotaged POSTPONE LITERAL and you sabotaged the IF
    disambiguifier, both of which can be fixed with DoNotSin. You most likely sabotaged VFX in multiple other ways to prevent VFX from compiling
    ANS-Forth code --- I haven't bothered to look for further sabotage because
    that is waste of time even by my low standards for how I spend my time.
    Why should I spend my free time debugging VFX?
    I could watch a Shudder Exclusive movie instead for cheap entertainment.

    Saying that I have sycophants is absurd. I don't provide the novice package
    to anybody anymore because all of your sycophants attack it on c.l.f..

    Your DoNotSin that undoes your sabotage has an interesting name! lol
    You apparently consider yourself to be a god who determines what sin is, similar to Jehovah who considers lack of faith in his ass to be a sin.
    Now all of the verklempt worms say that your DoNotSin name is "cute."
    So, you are the Worm God sitting on a throne of mud! lol

    Good job on making a complete disgrace of yourself in public! lol
    I hope it was worth it to you to prevent my novice package from running
    under VFX. Was my novice package really so dangerous to you?
    Using disambiguifiers I was able to write SYNONYM in ANS-Forth,
    which you failed at. I was also able to write MACRO: in ANS-Forth,
    which Anton Ertl failed at (his feeble attempt doesn't support literal
    numbers or any word that extracts data from the input stream).

    I could brag that I defeated you.
    The truth is that you defeated yourself --- you have shame at having
    to brown-nose Elizabeth Rather, and you have shame at failing to
    implement synonyms and early-binding macros in ANS-Forth, and
    you have shame at failing to invent rquotations, getting stuck with Paysan-faked quotations in VFX --- all of this shame motivated you to
    sabotage VFX to prevent my novice package from working, but this
    makes you look petty and mean when it gets exposed on c.l.f..
    Now you are the Worm God --- all of the verklempt worms rise up out
    of the mud and wriggle in ecstasy for their "cute" god. lol

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Wed Mar 29 16:23:08 2023
    On 29/03/2023 12:05 pm, Hugh Aguilar wrote:

    Saying that I have sycophants is absurd. I don't provide the novice package to anybody anymore because all of your sycophants attack it on c.l.f..

    Now you are the Worm God --- all of the verklempt worms rise up out
    of the mud and wriggle in ecstasy for their "cute" god. lol

    I would wriggle for you, Hugh, but you need to do something about that floating-point function. A maintenance programmer could do better.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Stephen Pelc on Sat Apr 1 14:59:05 2023
    On Thursday, February 23, 2023 at 5:53:49 AM UTC-7, Stephen Pelc wrote:
    On 19 Jan 2023 at 04:34:11 CET, "Hugh Aguilar" <hughag...@gmail.com>
    wrote:

    The bug is that this ANS-Forth compliant code causes VFX to crash: ------------------------------------------
    : lit, ( val -- ) \ runtime: -- val
    postpone literal ;
    ------------------------------------------

    For the moment define LIT, as

    : lit, ( val -- ) \ runtime: -- val
    postpone literal ; doNotSin

    An upcoming version of VFX may/will use a different fix and will not require DONOTSIN.

    Stephen

    Don't bother getting rid of the DoNotSin word that undoes your sabotage.
    It is so cute! So long as you have VFX sabotaged and you have DoNotSin
    to undo the sabotage, VFX will be considered to be malware --- nobody
    will want to download the free version and nobody will pay you for the professional version --- you must tell VFX users about the DoNotSin bug-fix
    and why it is there, and they will run away from you because this is malware.

    You aren't doing me any favor, because I'm not going to use VFX again.
    I can't trust you to not sabotage VFX to prevent compilation of ANS-Forth code. Most likely you are going to have more subtle sabotage next time. Sabotaging the IF disambiguifier was rather heavy-handed because I have
    a hundred words or more that use IF internally, so I was going to notice.
    Also, as I said, Bernd Paysan uses a disambiguifier in Mini-OOF --- sabotaging the disambiguifiers is like winning a fist-fight with a hand grenade.
    Next time your sabotage will be more subtle --- perhaps cause my arithmetic
    to be imprecise --- I would have to thoroughly test every line of the gigantic novice package to be sure that there is no sabotage, and I still wouldn't
    be sure that there is no tricky trick in VFX to cause problems for me.
    Here is an idea for you! You could sabotage VFX so that, if it recognizes the use of the novice package, it generates code that runs at 1% of the normal speed (maybe have semicolon put in a 10ms delay before the RET instruction).
    I would never figure this out by doing line-by-line testing for incorrect results.
    You are a clever guy! You can figure out subtle and baffling sabotage for VFX. Even using the lowest possible valuation for my time, I still don't have time to play these games with you --- so, I abandon VFX --- VFX is malware.

    Your goal was to prevent me from using VFX. You win! I won't use VFX.
    Nobody else will use VFX either though, because VFX is malware.
    You still have 100% support from the verklempt worms, but that isn't
    worth much because they don't do any programming --- this is like a
    Republican politician getting 100% support from the Woke community.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Ertl@21:1/5 to Ruvim on Sun Apr 2 16:37:21 2023
    Ruvim <ruvim.pinka@gmail.com> writes:
    This probably reflects common practice in 90s, that text interpretation >corrupted the hold buffer.

    Not in my experience, in particular with a fig-Forth-based system.

    That is the WORD buffer was at HERE, the hold buffer grow down from
    slightly further up, and maybe they could collide, but in the usual
    case they didn't (and in no case that I remember).

    Then we should admit that missing "text
    interpretation" in the section 3.3.3.6 is an omission.

    Maybe it was, but what is the common practice now?

    I would suggest to add explicitly "text interpretation" into 3.3.3.6
    (i.e., fix the omission), and on the next iteration exclude both the
    word "WORD" and text interpretation from 3.3.3.6.

    We currently don't do updates for released versions. Everything we do
    is for the next iteration.

    I believe, "text interpretation" and "WORD" should be either *both*
    present or *both* absent in this connection with "#>" to avoid a confusion.

    Given that text interpretation does not need to use WORD, and WORD is
    just a legacy word, I don't see a reason for such a junctim. Removing
    the license for WORD to corrupt the hold buffer is fine with me, but
    what's the existing practice?

    I ran the following program on Gforth, iforth, lxf, SwiftForth
    4.0.0-RC52, and VFX 5.11 RC2:

    : foo
    0. <# 16 cells 2 + 0 do [char] x hold loop #> bl word count type cr type cr ;

    foo 0123456789abcdef0123456789abcdef

    bye

    They all output

    0123456789abcdef0123456789abcdef xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    (except that the number of "x"s was smaller for lxf, a 32-bit system).

    So it seems this restriction can be removed.

    One thing I noticed: While 3.3.3.6 says:

    |The size of the region identified by WORD shall be at least 33 characters.

    6.1.2450 WORD says:

    |An ambiguous condition exists if the length of the parsed string is
    |greater than the implementation-defined length of a counted string.

    (i.e., at least 255 chars).

    But it also says:

    | A program may replace characters within the string.

    And the tests only test the length of the string.

    So in theory this is a valid implementation of WORD:

    create word-buffer 33 allot
    : word ( c "stuff" -- c-addr )
    bl = if
    parse-name word-buffer c! drop word-buffer
    else
    ... \ same with arbitrary delimiter
    then ;

    The standardized version of WORD is good for nothing.

    - 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 2022: https://euro.theforth.net

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Hans Bezemer on Sun Apr 9 14:56:28 2023
    On Sunday, January 29, 2023 at 8:16:41 AM UTC-7, Hans Bezemer wrote:
    On Saturday, January 28, 2023 at 11:29:32 PM UTC+1, hughag...@gmail.com wrote:
    Any use of VFX is stopped now because Stephen Pelc can't be trusted to maintain
    ANS-Forth compatibility. He purposely introduces a bug in LIT, to break my novice package, but he risks breaking other people's ANS-Forth code too.
    Ok - THINK! Because he can introduce bugs in other peoples code too, do you think this
    is clever behavior for a vendor? Somebody whose livelihood literally DEPENDS on people
    buying his product?

    Well, Stephen Pelc has admitted to sabotaging VFX to prevent my novice package from working. He told us about the DoNotSin word that undoes this sabotage.
    He only told us that DoNotSin undoes the sabotage to POSTPONE LITERAL and
    I had to point out that it also undoes the sabotage to the IF disambiguifier. He hasn't told us what other sabotage to VFX there might be. I don't have time to debug VFX to find every place that he has sabotaged, and putting DoNotSin after every word that has an IF inside of it means a hundred or more words, which I don't have time for either. So, Stephen Pelc has prevented my
    novice package from working on VFX! This is as close to being a winner
    as Stephan Pelc has ever been in his entire life! Woo hoo!

    Stephen Pelc DEPENDS on people buying his product. Because of this he is
    deeply afraid that somebody will use VFX to write code that is in competition with one of his products. He is willing to sabotage VFX to make in unusable
    so that nobody uses VFX to write code that is in competition with his products. Most likely, my HJA430 assembler for the MSP430 was what filled him with fear: https://board.flatassembler.net/topic.php?t=21841
    He assumes (quite rightly) that none of his customers are capable of writing
    an assembler, so they will have to buy ($$$) an assembler from MPE.
    He is deeply afraid that HJA430 will be used, and he won't get paid for HJA430. What is ironic about Stephen Pelc's fear of HJA430 is that I don't provide it to anybody. It is only for my own use. He could have ignored HJA430.
    Instead, he sabotages VFX to prevent VFX from compiling ANS-Forth code
    to prevent HJA430 from working. He assumes that his customers don't have any code of their own but that they only buy ($$$) MPE code. so as long as MPE code works, nobody will ever notice or care that VFX has been sabotaged to not compile
    ANS-Forth code --- because they aren't writing ANS-Forth code at my level.

    I have already mentioned how Bernd Paysan's Mini-OOF uses a disambiguifier internally and presumably has stopped working? Stephen Pelc doesn't care about this though because he wasn't getting paid for Mini-OOF anyway.
    How funny would it be if some of the MPE code used POSTPONE LITERAL internally? How funny would it be if the MPE assembler for the MSP430 stopped working because of the sabotage to VFX that was supposed to only stop HJA430 from working?
    That would be very funny! LOL
    Stephan Pelc must remember the details of all of his code to assure that it won't be affected.
    Stephen Pelc is like a Wild West gunfighter who shoots himself in the foot --- his opponent
    defeats him without firing a shot or even loading his pistol with bullets.
    I haven't provided HJA430 source-code, but only provided the documentation for HJA430.
    Apparently this was enough to convince Stephen Pelc that HJA430 is superior to his
    MSP430 assembler, so he fast-draws his pistol and shoots himself in the foot. LOL
    It is not difficult to defeat Stephen Pelc when he self-destructs at the first sign of danger
    that somebody is writing code in VFX that intrudes upon his territory --- because he
    assumes that this code is superior to MPE code and will hurt MPE sales. LOL
    I inspire this much fear in Stephen Pelc just by mentioning that I've written an MSP430
    assembler for my own use, with no plan to distribute it. Paranoia will destroy ya!!!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From dxforth@21:1/5 to Hugh Aguilar on Mon Apr 10 10:34:39 2023
    On 10/04/2023 7:56 am, Hugh Aguilar wrote:

    nobody will ever notice or care that VFX has been sabotaged to not compile ANS-Forth code --- because they aren't writing ANS-Forth code at my level.

    The ANS TC would be verklempt. Not only has there been a change of heart but also the willingness to go to battle in defence of them.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Hugh Aguilar@21:1/5 to Gerry Jackson on Wed May 24 11:52:42 2023
    On Friday, March 24, 2023 at 10:38:26 AM UTC-7, Gerry Jackson wrote:
    On 15/03/2023 00:37, Hugh Aguilar wrote:
    You really don't know what you are talking about!
    You said:
    All that has to be done is to turn the xt array into an array of
    records where each record is a (switch value, xt). As the switch value
    (times record size) indexes the array that is a simple modification and >> the array is already sorted."

    Your xt array, for 32-bit index values would be up to 16GB in size, because
    there are 4 bytes per vector on a 32-bit Forth. Of course, a 16GB array doesn't fit on a 32-bit computer --- unlikely to fit on a 64-bit computer either.
    Are you really so dumb that you don't notice this problem???
    I think you're being deliberately obtuse in making that statement. It is obvious that my revised array of records would NOT include invalid
    switch values. E.g. if, say, the valid signed maximum and minimum switch values were MAXINT and MININT respectively with, say, 5 other well
    separated values, the array would only have 7 records in it. Other
    values would not be found when searched for. Or are you too dumb to see that?

    Gerry Jackson doesn't understand how Michael Gassenenko's switch works.
    He says that the array is "already sorted." Really??? When did it get sorted? How did it get sorted? The Bucket Sort is obviously not going to work!

    Anyway, I wrote another assembler. Stephen Pelc will hate this news!
    Stephen Pelc really self-destructed when he found out that I wrote an
    MSP430 assembler --- he sabotaged his own VFX to thwart my assembler!
    Stephen Pelc has his DoNotSin bug-fix to undo this sabotage.
    The Worm God on his throne of mud says that I'm a sinner!
    Should I go to the Worm Church to confess that I wrote an MSP430 assembler?
    In the Middle Ages I would have been burned at the stake for writing
    an MSP430 assembler.

    Anyway, my new assembler is for a different processor. This includes a simulator.
    I used both FAST-SWITCH> and SLOW-SWITCH> despite the fact that
    Gerry Jackson says that I'm too dumb to understand how SLOW-SWITCH> works.
    This is documentation for my switch code: ----------------------------------------------------------------------------------------------------------------
    Documentation for FAST-SWITCH> and SLOW-SWITCH> in LIST.4TH
    of the novice package --- this is ANS-Forth --- (c) Hugh Aguilar

    The basic operation is this:

    <SWITCH
    :NONAME drop ... ; targ CASE-OF
    ...
    :NONAME drop ... ; FAST-SWITCH> xxx ( selector -- )

    The XXX is the name of the function being created.
    The DROP in the :NONAME function gets rid of the selector-value.
    You might need this sometimes though.
    The last :NONAME before FAST-SWITCH> is the default action done if
    no match was found. In many applications this indicates a bug so this
    :NONAME function will abort and will not DROP the value but will
    display it so the user can know what invalid selector got used.

    There can be thousands of CASE-OF statements.
    They don't have to be in any particular order.
    Building the table is faster if they are pretty much in reverse order.
    I'm using an insertion sort which is slow. I did this so that I would
    find any duplicates immediately and would be able to abort on the
    offending line so the user would know exactly where the duplicate was.
    Note that Michael Gassenenko's CHOOSE doesn't tell where the duplicate
    was. The slowness is at compile-time, so it doesn't matter very much
    (compiling the assembler/simulator for my processor takes 17 seconds). Duplicates are illegal, although duplicates are allowed in ANS-Forth's
    goofy CASE construct that just does a sequential search.

    We have a VALUE called JT-LIMIT that sets the limit of the size of
    a FAST-SWITCH> jump-table. Note that the FAST-SWITCH> jump-table is a
    sparse array, so the number of selectors could be significantly less
    than the size of the jump-table. JT-LIMIT is currently set at 2^16 to
    allow simulation of a processor with 16-bit opcodes. The user can
    change JT-LIMIT. If there are more selectors than JT-LIMIT allows or
    the user just wants to use less memory, SLOW-SWITCH> can be used
    instead of FAST-SWITCH>. This will build a packed sorted table and at
    run-time will do a binary search. This packed table is usually smaller
    than a FAST-SWITCH> sparse table, but if over half of the posible
    selectors are represented, then the SLOW-SWITCH> table will not only
    be slower but will also use more memory.

    It is possible to assign a :NONAME action to multiple selectors:
    :NONAME drop ... ; low-targ high-targ RANGE-OF
    :NONAME drop ... ; ." xxx" CHARS-OF
    :NONAME drop ... ; <WHEN ... WHEN>
    :NONAME drop ... ; DIGIT-OF
    :NONAME drop ... ; LOWER-OF
    :NONAME drop ... ; UPPER-OF
    :NONAME drop ... ; ALPHA-OF
    :NONAME drop ... ; PUNCTUATION-OF
    :NONAME drop ... ; BLANK-OF

    RANGE-OF matches all of the values from LOW-TARG to HIGH-TARG
    inclusive. CHARS-OF matches all of the chars in the string.
    <WHEN ... WHEN> matches all of the values between <WHEN and WHEN>
    (the ... means zero or more values)
    DIGIT-OF is the numeric digits, LOWER-OF is the lowercase letters,
    UPPER-OFis the upper-case letters, ALPHA-OF is all of the letters, PUNCTUATION-OF is punctuation, BLANK-OF is blanks.
    It is trivial for the user to define macros like this. For example:

    : punctuation-of ( head xt -- new-head )
    s| .,!?'";:[]()@#$%&| chars-of ;

    : blank-of ( head xt -- new-head )
    0 32 range-of ;

    So far, we have been assuming that the :NONAME function would DROP the selector. This isn't always done though. I have an assembler/simulator
    for a custom processor with 16-bit opcodes. In many of the opcodes,
    the lower 9 bits are an embedded literal. I use RANGE-OF so that all
    $200 opcodes will execute the same :NONAME function. The :NONAME
    function needs the selector (the opcode) so it can extract the
    embedded literal with $1FF AND to use this literal in the simulation
    of the opcode. RANGE-OF is hugely useful for similating opcodes
    assuming that the embedded literal values are in the lower bits
    (I designed the processor, so I can put the embedded literal there).
    Note that, RANGE-OF has recently (for this processor) been upgraded to
    insert the values in reverse order to help speed up the table build.

    We also have CASE: ... ;; that was suggested by DXforth. Apparently he
    wanted to loosely imitate the syntax of ANS-Forth's goofy CASE
    construct, although I don't know why anybody would care about this.

    Instead of this:
    :NONAME drop ... ; targ CASE-OF
    You do this:
    targ CASE: ... ;;

    I also have STRING-SWITCH> that is similar to SLOW-SWITCH> in that it
    uses a binary search, but it is for strings rather than integers.
    Instead of CASE-OF you use STRING-OF and your TARG value is not an
    integer but is an ADR/CNT pair for a counted string (typically
    provided by S" or S| or whatever).
    This was written for supporting something similar to LEX, although I
    have my STRING-STACK.4TH package now that would be better.
    STRING-SWITCH> might still prove useful though. ----------------------------------------------------------------------------------------------------------------

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Jurgen Pitaske@21:1/5 to Hugh Aguilar on Wed May 24 12:17:25 2023
    On Wednesday, 24 May 2023 at 19:52:44 UTC+1, Hugh Aguilar wrote:
    On Friday, March 24, 2023 at 10:38:26 AM UTC-7, Gerry Jackson wrote:
    On 15/03/2023 00:37, Hugh Aguilar wrote:
    You really don't know what you are talking about!
    You said:
    All that has to be done is to turn the xt array into an array of
    records where each record is a (switch value, xt). As the switch value >> (times record size) indexes the array that is a simple modification and >> the array is already sorted."

    Your xt array, for 32-bit index values would be up to 16GB in size, because
    there are 4 bytes per vector on a 32-bit Forth. Of course, a 16GB array doesn't fit on a 32-bit computer --- unlikely to fit on a 64-bit computer either.
    Are you really so dumb that you don't notice this problem???
    I think you're being deliberately obtuse in making that statement. It is obvious that my revised array of records would NOT include invalid
    switch values. E.g. if, say, the valid signed maximum and minimum switch values were MAXINT and MININT respectively with, say, 5 other well separated values, the array would only have 7 records in it. Other
    values would not be found when searched for. Or are you too dumb to see that?

    Gerry Jackson doesn't understand how Michael Gassenenko's switch works.
    He says that the array is "already sorted." Really??? When did it get sorted?
    How did it get sorted? The Bucket Sort is obviously not going to work!

    Anyway, I wrote another assembler. Stephen Pelc will hate this news!
    Stephen Pelc really self-destructed when he found out that I wrote an
    MSP430 assembler --- he sabotaged his own VFX to thwart my assembler! Stephen Pelc has his DoNotSin bug-fix to undo this sabotage.
    The Worm God on his throne of mud says that I'm a sinner!
    Should I go to the Worm Church to confess that I wrote an MSP430 assembler? In the Middle Ages I would have been burned at the stake for writing
    an MSP430 assembler.

    Anyway, my new assembler is for a different processor. This includes a simulator.
    I used both FAST-SWITCH> and SLOW-SWITCH> despite the fact that
    Gerry Jackson says that I'm too dumb to understand how SLOW-SWITCH> works. This is documentation for my switch code: ----------------------------------------------------------------------------------------------------------------
    Documentation for FAST-SWITCH> and SLOW-SWITCH> in LIST.4TH
    of the novice package --- this is ANS-Forth --- (c) Hugh Aguilar

    The basic operation is this:

    <SWITCH
    :NONAME drop ... ; targ CASE-OF
    ...
    :NONAME drop ... ; FAST-SWITCH> xxx ( selector -- )

    The XXX is the name of the function being created.
    The DROP in the :NONAME function gets rid of the selector-value.
    You might need this sometimes though.
    The last :NONAME before FAST-SWITCH> is the default action done if
    no match was found. In many applications this indicates a bug so this :NONAME function will abort and will not DROP the value but will
    display it so the user can know what invalid selector got used.

    There can be thousands of CASE-OF statements.
    They don't have to be in any particular order.
    Building the table is faster if they are pretty much in reverse order.
    I'm using an insertion sort which is slow. I did this so that I would
    find any duplicates immediately and would be able to abort on the
    offending line so the user would know exactly where the duplicate was.
    Note that Michael Gassenenko's CHOOSE doesn't tell where the duplicate
    was. The slowness is at compile-time, so it doesn't matter very much (compiling the assembler/simulator for my processor takes 17 seconds). Duplicates are illegal, although duplicates are allowed in ANS-Forth's
    goofy CASE construct that just does a sequential search.

    We have a VALUE called JT-LIMIT that sets the limit of the size of
    a FAST-SWITCH> jump-table. Note that the FAST-SWITCH> jump-table is a
    sparse array, so the number of selectors could be significantly less
    than the size of the jump-table. JT-LIMIT is currently set at 2^16 to
    allow simulation of a processor with 16-bit opcodes. The user can
    change JT-LIMIT. If there are more selectors than JT-LIMIT allows or
    the user just wants to use less memory, SLOW-SWITCH> can be used
    instead of FAST-SWITCH>. This will build a packed sorted table and at run-time will do a binary search. This packed table is usually smaller
    than a FAST-SWITCH> sparse table, but if over half of the posible
    selectors are represented, then the SLOW-SWITCH> table will not only
    be slower but will also use more memory.

    It is possible to assign a :NONAME action to multiple selectors:
    :NONAME drop ... ; low-targ high-targ RANGE-OF
    :NONAME drop ... ; ." xxx" CHARS-OF
    :NONAME drop ... ; <WHEN ... WHEN>
    :NONAME drop ... ; DIGIT-OF
    :NONAME drop ... ; LOWER-OF
    :NONAME drop ... ; UPPER-OF
    :NONAME drop ... ; ALPHA-OF
    :NONAME drop ... ; PUNCTUATION-OF
    :NONAME drop ... ; BLANK-OF

    RANGE-OF matches all of the values from LOW-TARG to HIGH-TARG
    inclusive. CHARS-OF matches all of the chars in the string.
    <WHEN ... WHEN> matches all of the values between <WHEN and WHEN>
    (the ... means zero or more values)
    DIGIT-OF is the numeric digits, LOWER-OF is the lowercase letters, UPPER-OFis the upper-case letters, ALPHA-OF is all of the letters, PUNCTUATION-OF is punctuation, BLANK-OF is blanks.
    It is trivial for the user to define macros like this. For example:

    : punctuation-of ( head xt -- new-head )
    s| .,!?'";:[]()@#$%&| chars-of ;

    : blank-of ( head xt -- new-head )
    0 32 range-of ;

    So far, we have been assuming that the :NONAME function would DROP the selector. This isn't always done though. I have an assembler/simulator
    for a custom processor with 16-bit opcodes. In many of the opcodes,
    the lower 9 bits are an embedded literal. I use RANGE-OF so that all
    $200 opcodes will execute the same :NONAME function. The :NONAME
    function needs the selector (the opcode) so it can extract the
    embedded literal with $1FF AND to use this literal in the simulation
    of the opcode. RANGE-OF is hugely useful for similating opcodes
    assuming that the embedded literal values are in the lower bits
    (I designed the processor, so I can put the embedded literal there).
    Note that, RANGE-OF has recently (for this processor) been upgraded to insert the values in reverse order to help speed up the table build.

    We also have CASE: ... ;; that was suggested by DXforth. Apparently he wanted to loosely imitate the syntax of ANS-Forth's goofy CASE
    construct, although I don't know why anybody would care about this.

    Instead of this:
    :NONAME drop ... ; targ CASE-OF
    You do this:
    targ CASE: ... ;;

    I also have STRING-SWITCH> that is similar to SLOW-SWITCH> in that it
    uses a binary search, but it is for strings rather than integers.
    Instead of CASE-OF you use STRING-OF and your TARG value is not an
    integer but is an ADR/CNT pair for a counted string (typically
    provided by S" or S| or whatever).
    This was written for supporting something similar to LEX, although I
    have my STRING-STACK.4TH package now that would be better.
    STRING-SWITCH> might still prove useful though. ----------------------------------------------------------------------------------------------------------------

    As you stated in another post here

    you are looking forward to leaving this planet soon - hopefully today or soon,

    and your flesh being either thrown away in a rubbish bin as you deserve it ,

    or used as dog food which might be dangerous for the dogs,

    but you would feed the rats anyway.

    Have a nice day. Hopefully you last day.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)