Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The existing extern-function specification doesn't clarify
the origin of functions (issue #37).
This 'extern-library' specification complements the 'extern-function'
by providing a way to define the source library for functions.
'extern-library' is a dynamic library loaded at runtime,
and 'extern-function' is a C function in the library
looked up by its symbol (name).
This is a flexible and cross-platform way to allow extensions
but not without drawbacks (more about this in the spec).
I am not sure what the MEF original 'extern-function' creators wanted it to be,
but it doesn't seem to be fully specified or tool-agnostic (portable).
My proposal is one of ways to clarify and 'empower' this MEF element.
This 'flexible' way of defining extern-function may be a bit tedious to implement
but definitely achievable across tools and platforms (I think).
I have yet to implement it myself and see what can be improved.
Meanwhile, I would love to get your feedback on this proposal.
Closes #37