This is my favorite forth. I think it’s a gem and the engineering that went into this is wonderful. The literate programs that make up the core of the forth really help to get an understanding of the system.
Would be interested to understand what you and other postesrs who use it – consider to be ‘good use cases’, and the relevant size of applications/libraries written in forth for those use cases.
My understanding/interest in Forth is around using it as a target for generated code (eg bytecodes), not as a human-accessible programming environment. I am likely too narrow in my understanding, so wanted to expand.
text editor: 9k source, 194k (binary), 77k is the image, 117k is the vm
http server: 6k source, 225k (binary), 108k for the image, 117k for the vm
gopher server: 5k source, 186k (binary), 69k for the image, 117k for the vm
(The source files are large due to embedded commentary; I use a semi-literate format for writing sources)
The standard system is compiled to a single binary combining the image file (with the actual language) and the vm (with any system-specific I/O extensions). This is 117k on my OpenBSD/amd64 system.
A minimal system has a 40k image and 18k vm (separate files), but this lacks most I/O extensions.
For completeness, an x86 multiboot compliant kernel with the vm and image totals 168k in size. This includes keyboard, text display, serial, parallel, cmos, ata drivers and a block editor.
I think I’m one of the rare IOS users on here but for those few of you that there may be - it has an IOS version - in the app store :) No need to build your own.
This is my favorite forth. I think it’s a gem and the engineering that went into this is wonderful. The literate programs that make up the core of the forth really help to get an understanding of the system.
Would be interested to understand what you and other postesrs who use it – consider to be ‘good use cases’, and the relevant size of applications/libraries written in forth for those use cases.
My understanding/interest in Forth is around using it as a target for generated code (eg bytecodes), not as a human-accessible programming environment. I am likely too narrow in my understanding, so wanted to expand.
Some sizes:
(The source files are large due to embedded commentary; I use a semi-literate format for writing sources)
The standard system is compiled to a single binary combining the image file (with the actual language) and the vm (with any system-specific I/O extensions). This is 117k on my OpenBSD/amd64 system.
A minimal system has a 40k image and 18k vm (separate files), but this lacks most I/O extensions.
For completeness, an x86 multiboot compliant kernel with the vm and image totals 168k in size. This includes keyboard, text display, serial, parallel, cmos, ata drivers and a block editor.
I think I’m one of the rare IOS users on here but for those few of you that there may be - it has an IOS version - in the app store :) No need to build your own.
Come join us in the #Retro community channel on Freenode sometime, the author is very active too