• otacon239@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        2 months ago

        The stack doesn’t quite work like that. They would get added like this:

        This > buffer
        great, is, one > stack

        Then, each + pulls the latest off the stack and operates.

        First + would pull ‘one’ as it’s the most recent on the stack.

        This page does a good job of explaining: https://www.geeksforgeeks.org/dsa/introduction-to-stack-data-structure-and-algorithm-tutorials/

        Edit: you can also see this reflected in the Alt-text:

        I NOTATION POLISH REVERSE ❤️
        
        • davidgro@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          edit-2
          2 months ago

          Huh, it’s that buffer thing that I didn’t know about and isn’t mentioned in your link (maybe it’s Forth specific?), I use an RPN calculator app, but everything goes on the stack, so “This” would be on the bottom and be popped off last.

  • Chais@sh.itjust.works
    link
    fedilink
    arrow-up
    5
    ·
    2 months ago

    But just to nitpick, wouldn’t this parse into “Forth ❤️ I”? Which is to say, aren’t the operands in the wrong order?

    • JohnnyCanuck@lemmy.ca
      link
      fedilink
      arrow-up
      10
      ·
      2 months ago

      But just to nitpick, wouldn’t this parse into “Forth ❤️ I”? Which is to say, aren’t the operands in the wrong order?

      No, they’re correct. You’re parsing it wrong.

      • froh42@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        That’s true, but as the Forth is top of stack I’d read it as the subject and I as the object. OFC that’s just how you define the heart-word, but still.

        • Victor@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          2 months ago

          The operand at the top of the stack is used as the second operand for binary operators. Second from the top is used as the first operand.

          Here illustrated using dc, and doing the calculation 3 - 1 and printing the answer with the command p, getting the result of 2. As we can see here with a noncommutative operation (subtraction), in order to illustrate the point, we get 2, rather than -2.

          ~ dc
          3 1 - p
          2
          
        • jdnewmil@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          Color me mystified. Why would you map the verb of an English sentence to anything but a function or method in a computer language expression?