URI:
        _______               __                   _______
       |   |   |.---.-..----.|  |--..-----..----. |    |  |.-----..--.--.--..-----.
       |       ||  _  ||  __||    < |  -__||   _| |       ||  -__||  |  |  ||__ --|
       |___|___||___._||____||__|__||_____||__|   |__|____||_____||________||_____|
                                                             on Gopher (inofficial)
  HTML Visit Hacker News on the Web
       
       
       COMMENT PAGE FOR:
  HTML   Build Your Own Forth Interpreter
       
       
        alexthehurst wrote 3 hours 32 min ago:
        I’ve been working on a homemade CPU (in simulator) and I’m in the
        middle of implementing an ISA and assembler as a bug step up from
        working in machine code to working in assembly. I’ve been looking at
        Forth as a good option for a next-level-up language which is relatively
        easy to implement and easy to script with.
       
        fjfaase wrote 6 hours 22 min ago:
        In the past years, I developed a forth like language as an intermediate
        language for a C compiler. For debuging purposes, I also implemented a
        memory safe interpreter, besides a compiler that generates assembly
        output.
        
        See my profile for link to my github repositories and look under
        MES-replacement for stack_c
       
          WalterGR wrote 3 hours 26 min ago:
          Here’s a link to the right directory at least:
          
  HTML    [1]: https://github.com/FransFaase/MES-replacement/tree/main/src
       
        stevekemp wrote 12 hours 19 min ago:
        You might also enjoy this tutorial, which started out being based upon
        a hacker news thread: [1] I go through stages to implement minimal
        language.
        
  HTML  [1]: https://github.com/skx/foth
       
        ntavish wrote 13 hours 47 min ago:
        I wrote one some time ago, and it took me a lot longer than I thought
        it should. (it's core is finished, but dictionary is limited)
        
  HTML  [1]: https://ntavish.in/projects/emforth/
       
        fouc wrote 14 hours 24 min ago:
        For some reason this site feels AI generated to me.
       
        SAI_Peregrinus wrote 18 hours 6 min ago:
        I like building little throwaway FORTH interpreters as an exercise when
        learning a new language. They tend to touch just enough common
        programming needs to be interesting: read user input and/or a file,
        parse the input, run a state machine with two stacks, write output.
       
        tombert wrote 20 hours 37 min ago:
        I've been on/off working on a homebrew NES game.  Pretty much the go-to
        environment for that is assembly, which I'm sure I could write if I
        were motivated, but I find assembly considerably un-fun so I wanted to
        use a higher-level language.
        
        I had been looking for an excuse to learn Forth, and its use in classic
        computing meant that it had a shot of being workable on the NES.
        
        I was initially using IceForth but I had trouble getting that working,
        and so I got Codex to generate something that works, but then I also
        that building your own Forth is sort of a rite of passage for a
        software engineer, so I have been building my own Forth from scratch.
        
        My custom hack-job isn't ready yet, but I was extremely impressed at
        the performance I was able to get on the NES with compiled Forth from
        the Codex thing on the NES.  I'm getting roughly 80% of the speed for
        equivalent programs written in assembly, with much less code and this
        is without advanced optimizations. I do plan on finishing my custom one
        because I think I can build what I want a bit better than Codex, and
        I'm optimistic I can get the performance reasonable.
        
        Forth is such a fascinating language, because it sort of enables you to
        work at any level of the program.  You can write it super high level,
        almost like Lisp, but you can also poke around and create mappings to
        assembly, and you can do all this with decent performance no less! It
        has quickly become one of my more favorite scripting languages, though
        that might be because I have always had a soft spot for RPN.
       
        dharmatech wrote 21 hours 59 min ago:
        Video where I demonstrate how I explore JONESFORTH using GDB:
        
  HTML  [1]: https://youtu.be/giLsd-bik6A?si=Gwm3NJdUzyrmmopH
       
          lioeters wrote 19 hours 32 min ago:
          I enjoyed that! Nice intro to JonesForth and how it maps to assembly
          instructions.
       
        spc476 wrote 22 hours 11 min ago:
        I've already done that---ANS Forth for the 6809 ( [1] ).
        
  HTML  [1]: https://github.com/spc476/ANS-Forth
       
          sophacles wrote 21 hours 46 min ago:
          Advanced challenge: make it self-hosting.
       
        iberator wrote 22 hours 24 min ago:
        This is a strange article imo.
        
        I was expecting to see FORTH in bare metal C or ASM.
        
        There is a common myth about newbie programmers that FORTH is
        write-only and that you need to type everything in one line, without
        comments or function calls etc.
        
        Writing forth is super easy especially if you have a stack machine at
        your disposal. For example when you are building your own virtual
        cpu/architecture with assembler and compiler.
        
        It's more trivial than to understand any JavaScript framework lol
        
        Research FORTH more guys - it doesn't need to be strange and hard :)
        
        ps. Lisp SUCKS
        
        /rant
       
          EarlKing wrote 16 hours 52 min ago:
          > There is a common myth about newbie programmers that FORTH is
          write-only and that you need to type everything in one line, without
          comments or function calls etc.
          
          By contrast, in APL it's not a myth at all.
       
          volemo wrote 22 hours 9 min ago:
          I was with you 'till the last line. :P
       
            iberator wrote 21 hours 25 min ago:
            IMO Lisp is harder to implement than Forth, and LESS readable, butt
            MAYBE i fell into the same trap as others with Forth.  hahaha
       
              NetMageSCW wrote 19 hours 5 min ago:
              actually I think Lisp is easier to implement than Forth, buth is
              it really Forth if the internals aren’t discussed? (E.g. Word
              secondary, threaded code, etc)
       
                lebuffon wrote 14 hours 12 min ago:
                Forth does not specify threaded code. Implementation is left to
                the implementor.
                
                Internally Forth can be direct threaded code, indirect threaded
                code, byte code, sub-routine calls or optimized native code.
       
        ithkuil wrote 22 hours 41 min ago:
        "if you know one forth, you know one forth"
       
          ithkuil wrote 5 hours 26 min ago:
          (I'm saying this with love)
       
          AlexeyBrin wrote 22 hours 23 min ago:
          I doubt you will want to code professionally in Forth unless you work
          on embedded, so the dialect you learn doesn't matter too much. But it
          is interesting to implement a small interpreter and play with it.
       
          js8 wrote 22 hours 29 min ago:
          So implement four of them, and you will know them all! First Forth
          with indirect threaded code, second Forth with direct threaded code,
          third Forth with subroutine threaded code, and the final fourth with
          token threaded code.
       
            romforth wrote 20 hours 25 min ago:
            You jest, but I did end up doing just that in my implementation (
            [1] ) trying to shoehorn a Forth implementation into a MSP430
            device with just 2KB ROM + 128 byte RAM
            
  HTML      [1]: https://github.com/romforth/romforth
       
              iberator wrote 19 hours 0 min ago:
              Interesting. 
              I have a slightly off topic question: do you agree that there are
              no good newbie programming manual  for msp430? in comparison to
              Arduino or PIC etc
       
            n4r9 wrote 21 hours 2 min ago:
            I thought this was going to be a pun on the word "fourth",
            disappointed when I got to "final".
       
       
   DIR <- back to front page