Get Started
Ready to try Harding? Check out the documentation to install and run your first program, or explore the full feature list to learn more about what makes Harding special.
Smalltalk feeling, modern tooling. A modern Smalltalk dialect aiming at native compilation. File-based, git-friendly, and designed for modern tooling.
# Define a Point class with x and y
# auto generate setter and getter methods
Point := Object deriveWithAccessors: #(x y)
# Add a method to the class using selector:put:
# and a block representing the code
Point selector: #moveBy:and: put: [:dx :dy |
x := x + dx
y := y + dy
]
# Simpler way to add a method using >> syntactic sugar
Point >>+ aPoint [
x := x + aPoint x
y := y + aPoint y
]
# Create and use a Point, cascades work fine
p := Point new
p x: 100; y: 200
p moveBy: 5 and: 10
Everything you love about Smalltalk - message passing, blocks, live programming - preserved and modernized.
Granite compiler produces standalone native binaries via Nim → C. No runtime dependencies, true native performance.
No image files. Source lives in .hrd files you can version control, diff, and edit with any editor.
Multiple inheritance with automatic conflict detection at class definition time.
Cooperative multitasking with first-class Process objects. Built-in scheduler with Monitor, SharedQueue, and Semaphore synchronization.
Resumable exception handling with on:do:, signal, resume, retry, and pass. Full signal point preservation.
Call Nim code directly with good primitive bridging support. Access the entire Nim ecosystem: libraries, packages, and system APIs.
Bundle Nim primitive implementations and matching .hrd sources in one package. Load package code through load: and keep Harding and Nim APIs versioned together.
Built-in File, FileStream, and System helpers provide file read/write, current directory, stdio streams (Stdin, Stdout, Stderr), and command-line arguments.
VSCode extension with full LSP and DAP support. GTK-based Bona IDE currently includes Launcher, Workspace, and Transcript; Browser and Inspector are in progress, with Debugger planned.
Ready to try Harding? Check out the documentation to install and run your first program, or explore the full feature list to learn more about what makes Harding special.