// Run this example with `cargo run --example nano_rust -- examples/sample.nrs` // Feel free to play around with this sample to see what errors you can generate! // Spans are propagated to the interpreted AST so you can even invoke runtime // errors and still have an error message that points to source code emitted! fn mul(x, y) { x * y } // Calculate the factorial of a number fn factorial(x) { // Conditionals are supported! if x == 0 { 1 } else { mul(x, factorial(x - 1)) } } // The main function fn main() { let three = 3; let meaning_of_life = three * 14 + 1; print("Hello, world!"); print("The meaning of life is..."); if meaning_of_life == 42 { print(meaning_of_life); } else { print("...something we cannot know"); print("However, I can tell you that the factorial of 10 is..."); // Function calling print(factorial(10)); } }