Dylan — multi-paradigm programming language with support for functional and object-oriented programming