Dynamic linking simplified for your language on the JVM.
Invokedynamic is just the beginning. There's lot of higher level functionality you'll need on top of it that Dynalink provides.
Dynamic linking to any plain Java object's property getters, setters, fields, methods, classes' static properties, fields, methods, constructors. Additional container operations for arrays, collections, and maps. Full overloaded method resolution, vararg handling, and type conversions; the whole deal.
Ready to use monomorphic and polymorphic call site classes. Out-of-the-box bootstrap methods. Type guards. A whole lot of wheel reinvention eliminated for you.
Want to pass objects from Ruby to Python to JavaScript to Java and back within the same JVM? Think it's a pipe dream? Think again. Our unified metaobject protocol conventions, linker autodiscovery and composition has this covered for you with practically no extra effort on your part.
Automatically provides all Java Language Specification compliant type conversions, and lets you extend them with your language specific ones. Your conversions automatically become first-class citizens when being considered in overloaded method resolutions and parameter passing.
Hosted at GitHub, Apache 2.0 licensed Open Source, for your worry-free adoption.