r4
:r4 concatenative programming language with ideas from ColorForth. (by phreda4)
able-forth
A Forth-like programming language that targets the AbleVM (by ablevm)
Our great sponsors
r4 | able-forth | |
---|---|---|
5 | 6 | |
123 | 35 | |
- | - | |
1.7 | 2.0 | |
10 months ago | about 1 year ago | |
Forth | Forth | |
MIT License | ISC License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
r4
Posts with mentions or reviews of r4.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-08-18.
-
x-in-y lines - Succintly written (<1000 non-obfuscated loc), fully-functional software in any language.
almost all my codes in https://github.com/phreda4/r3 and https://github.com/phreda4/r4 have less 1000 lines, but all forth have code with minimun lines of code
-
r4 Forth
Looking here I think they've made the decision to go with the MIT licence.
-
Share cool Forth programs!
I wrote many programs in r4 (32 bits windows).. see in https://github.com/phreda4/r4
-
which forth do you guys use for normal day to day scripting and programming
r4 is for 32bit https://github.com/phreda4/r4
-
Looking for a simple forth compiler (producing asm/executables, not compiling forth words) to learn from, preferably in C family language
I have a vm in c for my forth, I have a compiler to asm (generate FASM output) but in the same lenguage, really a forth compiler is a simple program, there are a 1:1 correspondence in code genaration and words. here the 32bits source https://github.com/phreda4/r4/blob/master/r4/System/r4i86.txt here the 64bits with some optimizations: https://github.com/phreda4/r3d4/blob/master/r3/sys/r3asm0.r3 I hope this help
able-forth
Posts with mentions or reviews of able-forth.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-06-12.
-
Share cool Forth programs!
This is more advanced than the common Forth struct implementation example but this is real Able Forth code used at Merj. The Able Forth code above gives you first-class types, vectors and records, and type extension (like inheritance). These words are the basis for other types.
-
AbleVM and Able Forth v3 Released
Able Forth Optimized \ (smart postpone). Timed-wait is now available! The new now instruction provides access to a real-time nanosecond precision clock that is suitable for many tasks, including performance profiling. The default exception handler is now easy to replace at runtime.
-
AbleVM and Able Forth v2 Released
Able Forth The bootstrap process is fully automated and easy to customize, making it simpler than ever to create a custom Forth system. A new create does implementation inspired by cmForth. A defer is implementation that more closely follows the standard. A smarter alias implementation guarantees aliases behave as expected in all cases. depth and reset instructions for retrieving stack depths and resetting execution. All signalled exceptions are trapped and reported by default.
-
Unwind-Protect for Able Forth
Of course, there are many more use-cases. What surprised me is how simple it is to implement unwind protect in Forth (here implemented in Able Forth) and that I've never seen it implemented before :-).
-
Looking for a simple forth compiler (producing asm/executables, not compiling forth words) to learn from, preferably in C family language
I would consider adding Able Forth to the list. The Able Forth compiler targets the AbleVM, but in every other respect, it's a native code compiler (there's no reason Able Forth couldn't be made to emit native code for a physical machine). The default AbleVM core was designed to make the Able Forth compiler simple; it implements a 0-operand dual-stack virtual machine with ample general-purpose and base+offset address registers. Able is open source, in production use and under active development. If you decide it's interesting and you have any questions we're here to help.
-
Context Threading: A flexible and efficient dispatch technique for virtual machine interpreters
While not exactly that, Able Forth works this way; more for simplicity than for efficiency. In Able Forth, there is no separate interpreter. Code entered to be executed immediately -- what we call evaluated -- is compiled into an evaluation buffer and a dynamic call is to the beginning of this buffer is performed. Primitives are implemented as compiling words that emit their required instructions, meaning that the code generated will be executed at full speed.
What are some alternatives?
When comparing r4 and able-forth you can also consider the following projects:
r3 - r3 programing language - ColorForth inspired
stoneknifeforth - a tiny self-hosted Forth implementation
r3d4 - r3 programing language for 64 bits Windows/Linux/Mac/Rasberry Pi 4
fluke8050a-forth - Fluke 8050A multimeter LCD TFT display conversion, with Forth-based STM32F103 microcontroller
CAMEL99-ITC - Indirect threaded code version of CAMEL99 Forth for TI-99 computer
libable - An efficient, portable and secure general-purpose virtual machine and virtual network as a library
zeptoforth - A not-so-small Forth for Cortex-M
forth-scr - A tool for working with Forth code blocks
gforth - Gforth mirror on GitHub (original is on Savannah)