I’m thrilled to announce the release of bjForth v0.0.3 🎉

There’s been a a heap of improvements and additions compared to the last release.

What’s best is that they are automatically tested every time a change is pushed 😎

I dare you to Grab the latest tarball and hack yourself some serious Forth 😄

    • Azzu@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      8 days ago

      Yeah that’s what I meant with syntactically. You could act as if in Lisp arguments to functions are pushing on the stack, and functions are removing them and pushing the result back.

      • bitcrafter@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        8 days ago

        In Forth, though, the number of results pushed to the stack after an execution of a word could be a function of the input rather than a single value or even a fixed number of values.

        Likewise, the number of arguments that a word pops from the stack could be a function of a value pushed earlier to the stack.

            • Azzu@lemm.ee
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              7 days ago

              If you don’t know Lisp, it’d probably take too long for me explain (i.e. I don’t want to). Basically, macros let you rewrite your code arbitrarily, which would have the same effect as arbitrarily modifying the stack.

              • bitcrafter@programming.dev
                link
                fedilink
                arrow-up
                1
                ·
                7 days ago

                You are making the extremely incorrect presumption that I am unfamiliar with Lisp and how macros work. What is unclear to me is how you specifically think that arbitrarily rewriting code at macro expansion time is exactly equivalent to arbitrarily manipulating the stack at runtime.