The existing interface to and implementation of NCI needs refinement. See NCITasklist
This task does not depend on Lorito, but design and implementation should take the future of Lorito into consideration.
I don't see a NCITaskList. However I came to these observations:
For each external call we do 3 libffi calls:
This is amateur code. Of course this needs to be optimized into one single call to bear the conversion overhead only on certain arg types.
Additionally someone went berserk and removed most existing signature types, without providing equivalent functionality, and thus broke all NCI examples. This was e.g. one reason for
rakudo to ditch our nci and implement their own, independent one, even if libffi is superior to their dyncall and usable on more platforms.
So we'd need a restore nci functionality ticket also, which I do in #601 to restore t and 234.
Closing this. No feedback on a NCITasklist and the points about restoring nci functionality for our nci examples are finished in #436, #601 and #605. Improving libffi is something internal.