The unexamined life is not worth living.
— Socrates
Foreword
Wyzer was created to challenge the status quo.
For too long, systems programming has forced developers to choose between absolute control and absolute safety. Wyzer refuses this compromise. Its main goal is to generalize choreographic programming into a general-purpose language, perfectly intertwined with the Perceus memory model.
This means that for the first time, you can write code that mathematically guarantees memory safety, eliminates data races, and statically proves the correctness of your distributed protocols—all without sacrificing raw performance.
Consistency matters a lot in Wyzer. Because this language brings together such distinct and powerful concepts under a single unified ownership rule, it will require you to look at programming from a new perspective. The way you model data, handle state, and think about the network might look very different from what you are used to.
Did you know when I started Wyzer, people told me that I would never make it? They criticized Wyzer for being “vibe coded” just by looking at the commits, specifically the lines of code (LOC). To be honest, they were lazy with their checking. If they had checked it properly, they would have seen that I forgot to remove the _build directory of OCaml, which is why it had such a high LOC.
Earlier, Wyzer was being programmed in C/C++, and then I made a shift to OCaml because it was simpler for me to handle. I made a rookie mistake of not updating the .gitignore file, which is how that _build dir got on the repository each time. I can quote someone saying, “Just unrealistic amounts of changes in a single day (e.g. 7000 LOC changed in a single day), especially for somebody that claims to be 14 years old. An experienced developer could maybe achieve that by snorting a lot of cocaine and locking themselves in a room, but even then I’d have my doubts.”
They even called me the modern-day Srinivasa Ramanujan (do check out his story, it is very inspiring) as a way to mock me saying “Perhaps the author is some modern day version of Srinivasa Ramanujan who can just casually crank out close to 10 000 LOC in a single day at the age of 14 on a Thursday, but I highly doubt that.”
So you must understand that there will be those loud haters who will try to pull you down. Life is all about ups and downs, but you have to fight through it. Always remember one thing: if you are in the deep oceans, remember to come back to the surface with pearls, not with dead fish.
It could take you some time to truly understand and internalize Wyzer’s patterns. There will be moments where the compiler forces you to stop and carefully reconsider your architecture. But never lose hope. The learning curve is not an obstacle; it is the bridge to writing software that is fundamentally sound, predictable, and resilient.
This documentation is designed to guide you across that bridge. Whether you are building real-time embedded firmware or architecting global microservices, this book will give you the foundation you need to succeed.
Welcome to a new era of systems programming. Welcome to Wyzer.
– Atiksh Sharma, Creator of Wyzer Programming Language.