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.