The problem NCI solves
How do you use shared libraries from a dynamic language?
Do you need a compiler?
Can you pass and return values efficiently?
Is it easy to write good library bindings?
Parrot's NCI scores
really
well here...