Zypo Compiler
Overview
zypo-rs
is the official reference compiler for the Zypo programming language.
Objectives
- Python inter-compatibility
- Compiler portability (lightweight)
- Fast compile speeds + optimizations
- Markdown-friendly language (compiler logs and docstrings are markdown)
Language syntax
Basic blocks and class example:
get requests;
fun send_url(url: str) -> str {
if (url == null) {
return "No URL provided";
}
else {
return requests.post(url).json();
}
}
class CoolClass {
fun __init__(self, first_name: str, last_name: str) {
change_name(first_name, last_name);
}
fun print_name(self) {
print(self.name);
}
fun change_name(self, first_name: str, last_name: str) {
var self.name: str = self._swap_name_full(
concat(" ", first_name, last_name)
);
}
}
fun main() {
-- Testing send_url
var url: string = "https://duck.com";
var return_msg: string = "";
try {
return_msg = send_url(url);
}
catch {
return_msg = "Unsuccessful";
}
else {
print("Sent successfully!");
}
if (return_msg) {
print(return_msg);
}
-- Testing CoolClass
var new_class: CoolClass = CoolClass("Owen", "[last_name]");
new_class.print_name();
new_class.change_name("John", "Matthews");
new_class.print_name();
}