• jecxjo@midwest.social
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 year ago

    Not big on Forth but I wouldn’t see how any of that would be difficult on some Lisps depending on levels the macro system works on (e.g. Racket you can easily get into levels of code tokenization). I guess, is that type of manipulation typical on Forth? The whole reason one writes in Lisp is for “Code is Data” and extreme meta programming. Things you wouldn’t think would be used that often but Lisp programmers use it a lot.

    • duncesplayed@lemmy.one
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      1 year ago

      In Forth, you can do things like, say, redefine the number 0 to be computed as a function, and all code that uses the number 0 will instantly change its behaviour at runtime. Why would you do that? I’ve never found a legitimate use for it, which is why I hate Forth (and Lisp, for similar reasons). I like static analysis and I like it when the language prevents me from doing something silly, but I can understand why some people like the elegance and power-rush from one of the god-like languages like Lisp.

      • jecxjo@midwest.social
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Yeah I’ve seen some of that language manipulation. I guess my question is, does this happen in Forth regularly or not?

        In JS you can manipulate the prototype for a data type but unless you’re making some sort of library for a new type of framework most developers never do that type of stuff. In Ruby duck typing is the idiomatic way to solve many problems. In Lisp the use of macros is fairly common that a good majority of larger projects use. Not sure if that type of lower level manipulation is something everyone does in Forth or just something possible.