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