"The interpreter gateway has more options for exposing interp-level
functions and types to app-level​."

How does this work?
We tried several builtin modules, as well as "select" module that you
mentioned, all thses modules's interp-level code are invisble to other
module's app-level.

We would like to take your advices to make a new module. But the problem is
how to make the new module's interp-level code visible to app-level?


On Tue, Jun 9, 2015 at 9:30 AM, William ML Leslie <
william.leslie....@gmail.com> wrote:

> On 8 June 2015 at 21:22, Yicong Huang <hengha....@gmail.com> wrote:
>
>> By reading modules in pypy/module, finally we found out the workaround
>> method.
>>
>> For most of modules in 'pypy/module', their interp code could not be
>> imported or used by other module's app code.
>> But there is special module '__pypy__', it exposed several interp
>> functions, and those code are used by other module's app code.
>>
>
> ​There's nothing special about __pypy__ for exposing interp-level code,
> the modules in pypy/modules​ usually include interp level code.
>
> ​For example, the select module exposes the interp-level function
> select_interp.select.  Here's how it does so:
>
> ​
> https://bitbucket.org/pypy/pypy/src/b0c01840baea472c834635de627bb596c05d3bd5/pypy/module/select/__init__.py?at=default
>
> The interpreter gateway has more options for exposing interp-level
> functions and types to app-level​.
>
> The workaround solution is simple: add one more interface in __pypy__
>> module's __init__.py
>>
>
> ​You should make a new module rather than adding to one existing one.​
>
>
>>  PYC_MAGIC = get_pyc_magic(self.space)
>
>  self.extra_interpdef('PYC_MAGIC', 'space.wrap(%d)' % PYC_MAGIC)
>
>
>> Are the above code do the magic thing to expose interp code?
>>
>
> ​They are exposing an integer value called PYC_MAGIC, which is the value
> for determining what python the .pyc file was compiled for.​
>
> ​This is about exposing an integer rather than a function, it's probably
> not relevant to you.
>
>
> --
> William Leslie
>
> Notice:
> Likely much of this email is, by the nature of copyright, covered under
> copyright law.  You absolutely MAY reproduce any part of it in accordance
> with the copyright law of the nation you are reading this in.  Any attempt
> to DENY YOU THOSE RIGHTS would be illegal without prior contractual
> agreement.
>
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to