May
The best programming language ever created (not an opinion)
What is May?
May is a simple interpreted language written in C as a learning project. However, it does have practical application, as this entire documentation site was written using May, containerized using Docker, and hosted through Github Pages.
A taste of May
Here is a complete HTTP server that renders a styled page using the built-in HTML library:
import "io";
import "http";
import "html";
string home() {
return html({
children: [
body({
children: [
h1({ children: ["Hello from May!"] })
]
})
]
});
}
int server = create_server(8080);
print("Server running on port 8080");
while (1) {
int client = accept_client(server);
object req = read_request(client);
send_html(client, router(req, { "/": home() }));
}Why May?
Pipe operator
Chain transformations the way Unix taught you. "hello" | upper | print is a complete program.
Batteries included
An HTTP server, HTML builder, HTTP client, environment loader, and file system live inside the interpreter.
HTML as data
Build pages from nested function calls. No templating language to learn — just the language you are already writing.
One binary
May is a single C executable with no runtime dependencies. Drop it anywhere and run.