The Rose Programming Language Specification