Saturnus
Un lenguaje de programación moderno, con aspectos sencillos y prácticos.
Si tuviera que describir Saturnus en pocas palabras, te diría que es un hijo entre Lua, Rust y Scala. Digamos que se apropia de pequeñas cosas que me gustan de esos lenguajes.
- De Lua el runtime.
- De Scala su flexibilidad.
- Y de Rust, su sintaxis, o al menos una versión simple de ella.
Visita su página de Github, para más detalles y sobre como instalarlo y probarlo.
class Person {
// Fields (which are optional btw), are declared as variables:
let name = "unnamed";
// Methods, like normal functions, but remember that if the first (and only
// the first) argument is "self", it will be a dynamic method, and if that is
// absent, it will be compiled as a static method:
fn get_name(self) {
return self.name;
}
// Example of an static method, where the usage is shown later:
fn greet(person) {
print("Greetings " ++ person.name ++ "!");
}
}
// Here you'll clearly see the difference:
let person = Person { name: "Mr. Foo" };
let name = person->get_name(); // Dynamic dispatch
Person.greet(person); // Static method dispatch!
Mi idea es poder hacer una documentación exhaustiva en el futuro.