Dynalink is an invokedynamic-based high-level linking and metaobject protocol library. It enables creation of languages on the JVM that can easily interoperate with plain Java objects and each other.
It lets you write your language runtime in a way where you can think in higher-level abstractions than the invokedynamic bytecode instruction.
See the Online documentation to get started.
You can also check out the video of the talk on Dynalink given during the 2011 JVM Language Summit, as well as slides and video of the talk about integration of Dynalink and Nashorn given during JavaOne 2012.
Dynalink is Open Source software, dual-licensed under both the Apache 2.0 license and 3-clause BSD license, allowing you to choose either one when you use Dynalink. When you choose one license, it will be the only one that applies to you, the other does not. See the Licensing FAQ for advice on which one to choose.