- Twins
Twins are a group of entities created from the same code. Each twin appears and acts indistinguishable from its siblings. Together, they represent a single logical entity.
- Twinterpreters
A group of interpreters acting as one to run a single program. Each twinterpreter runs only a portion of the program. However, the twinterpreters interact to create a single runtime environment.
- Twin Object
Twins representing an entire :py
object
as their logical entity. In each twinterpreter, at least one TwinObject exists for a given :pyobject
. Each TwinObject exposes the same attributes, methods and features as its siblings. However, there is only oneNative Twin
representing the actual object. All other twins are :term:`Proxy Twin`s.- Native Twin
The twin holding the actual data and methods of a
Twin Object
group. It is native to a twinterpreter, which stores its data and executes code. For the most part, theNative Twin
acts like a regular :pyobject
. However, it is known to itsProxy Twin`s and lives as long as any :term:`Proxy Twin
is alive.- Proxy Twin
A twin taking the place of a
Native Twin
in a non-native twinterpreter. When interacting with aProxy Twin
, those actions are implicitly relayed to theNative Twin
. Client code need not care about the nature of aProxy Twin
- it is a full-fledged paceholder of its twin.- twinfunction
A lightweight relative of
Twin Object
for callables. Calling atwinfunction
follows the same semantics as any operation on aTwin Object
.- kernel
The underlying connection between two
twinterpreter
. Each kernel handles the communication at process level, and provides delegation of primitive commands.
This repository has been archived by the owner on Oct 16, 2021. It is now read-only.