ferrule
α1 preview

ferrule

a systems language where effects and capabilities are first-class

low-level control with safety guarantees about what code can do, not just what memory it touches

hello.fe
// explicit capabilities, no ambient authority
function main(io: cap IO) {
  io.println("hello, world");
}

immutability first

const by default, var when you need mutation, inout for explicit by-reference

errors as values

no exceptions, typed error domains, lightweight propagation with check

explicit effects

functions declare what they do, async is just another effect

capability security

no ambient authority, fs/net/clock are values you pass

what it's not

not rust · no borrow checkernot zig · effects are language featuresnot go · no gc, explicit errors