// example of Rocka: An interpreted, duck-typed, Object-Oriented and Functional programming language // Example source code of Rocka // #$RKROOT/lib/standard/io.rk // namespace Standard.IO; // defined in standard_io.cpp extern public print(msg string) bool; namespace RockaExample; import Standard.IO; class EntryPoint { main -> void { println("Hello World".nice()); println("Here are come characters: "); printChars("foo"); } nice(text string) -> string { return text.Upper(); } printChars(s string) { s.for_each(print) } } // // standard_io.cpp // std::shared_ptr vm = std::make_shared(); vm->land()->namespace("Standard.IO")->registerFunction("print", [] (std::shared_ptr vm, const rocka::Value& value, rocka::Value& result) { try { std::cout << value.at(0).as() << std::endl; } catch(const exception& ex) { result.setBool(false) return } result.setBool(true) }); // compile with: cpp standard_io.cpp -lrocka -o standard_io.a