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
    ·
    4 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
      4 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
            3 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
              ·
              3 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.