Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
57 lines (34 sloc) 1.46 KB


DRAFT: Synopsis 21: Calling Foreign Code


    Tim Nelson <>
    Larry Wall <>


    Created: 27 Feb 2009

    Last Modified: 27 Feb 2009
    Version: 1

The document is a draft.

If you read the HTML version, it is generated from the Pod in the specs repository under so edit it there in the git repository if you would like to make changes.


Unfortunately, calling foreign code properly is quite platform dependent. This means that parts of the external calling conventions can't be standardised. But the parts that can be standardised are specified here.


The use statement allows an external language to be specified in addition to (or instead of) an authority, so that you can use modules from other languages. The from adverb also parses any additional parts as short-form arguments. For instance:

    use Whiteness:from<perl5>:name<Acme::Bleach>:auth<cpan:DCONWAY>:ver<1.12>;
    use Whiteness:from<perl5 Acme::Bleach cpan:DCONWAY 1.12>;  # same thing

    use libc:from<C>;

Other Considerations

Linking to common platforms

XXX We need a discussion of how to link to some of the common platforms


Please post errors and feedback to perl6-language. If you are making a general laundry list, please separate messages by topic.

Jump to Line
Something went wrong with that request. Please try again.