beagle
Dynamic, mostly-functional, compiles straight to machine code. (pre-alpha)
Beagle is my programming language I've been working on for a while now. It is slowly approaching a stage I'm proud of. The code snippet on the right might seem unremarkable, but those socket/read calls don't block. Concurrency in this language is fully controllable, yet there is no function coloring.
1use beagle.socket as socket23fn main() {4 let listener = socket/listen("0.0.0.0", 8080)5 println("Echo server listening on port 8080")67 socket/on-connection(listener, fn(conn) {8 loop {9 let data = socket/read(conn, 4096)10 if data == "" || data == null {11 socket/close(conn)12 break(null)13 } else {14 socket/write(conn, data)15 }16 }17 })18}
Built-in algebraic effects make it easy to control and test IO.
Redefine functions, structs, and enums while your code is running.
Delimited continuations give you transparent asynchrony.
No VM, no bytecode — straight to machine code.