A Stack-based compiled programming language.
The project is made not for competing with other languages, rather it is another incomplete language almost same like others.
Gofra is a concatenative (stack-based) programming language that compiles to native code.
Programs are written using Reverse Polish notation, where operations follow their operands (e.g 2 + 2 is 2 2 +).
Here's a simple "Hello, World!" example:
include "std.gof"
func void main
"Hello, World!" println
end
- Native - Compiles to native machine code
- C-like - Close to C, but has a few more high-level abstraction (
for in,type generics) - C FFI - Seamless integration with C-FFI libraries
- Low-level - Write unsafe, low-level code with direct memory access
- Type System - Validate types at compile time, has compile-time warnings (Generics supports, typechecker)
- Library - By default has support for
math,random,networkand other libraries
#include "std.gof"
// Print each array element
var xs = ["Hello", " ", "world!", "\n"]
func void main[]
for x in xs do
x ?> print
end
end
- Pong Game (
examples/03_pong) - Simple HTTP server (
examples/04_http_server)
| ARCH | OS | Support | Tested hardware |
|---|---|---|---|
| Aarch64 | Darwin | ✅* | M1, MacOS Tahoe 26.1 |
| Aarch64 | Windows | ❌ | |
| Aarch64 | Linux | ❌ | |
| x86_64 | Linux | ❗** | |
| x86_64 | Darwin | ❌ | |
| x86_64 | Windows | ||
| WASM | - | ❌**** |
* Main workflow of development, has all features
** Linux x86_64 is not completely finished and has bugs and incomplete features
*** Windows x86_64 is not implemented, but has general wrappers for system calls and possibly can compiled with headache
**** WASM is coming soon, after finished top-three platforms
Before installing Gofra, ensure you have the following tools available system-wide:
- Python >3.12.x
- GNU/Mach-O Linker (ld) - For linking compiled objects
- Assembler (as) - Typically included with Clang LLVM compiler
For full installation steps, please visit Installation page.
Gofra is distributed as single Python-based toolchain. To install:
(Step 1): Install toolchain
pip install gofra(Step 2): Verify Installation
gofra --helpPlease refer to actual documentation!
