22 research outputs found

    Implementing statically typed object-oriented programming languages

    Full text link
    A paraîtreInternational audienceObject-oriented programming languages represent an original implementation issue due to the mechanism known as late binding, aka message sending. The underlying principle is that the address of the actually called procedure is not statically determined, at compile-time, but depends on the dynamic type of a distinguished parameter known as the receiver. In statically typed languages, the point is that the receiver's dynamic type may be a subtype of its static type. A similar issue arises with attributes, because their position in the object layout may depends on the object's dynamic type. Furthermore, subtyping introduces another original feature, i.e. subtype checks. All three mechanisms need specific implementations, data structures and algorithms. In statically typed languages, late binding is generally implemented with tables, called virtual function tables in C++ jargon. These tables reduce method calls to pointers to functions, through a small fixed number of extra indirections. It follows that object-oriented programming yields some overhead, as compared to usual procedural languages. The different techniques and their resulting overhead depend on several parameters. Firstly, inheritance and subtyping may be single or multiple and a mixing is even possible, as in JAVA, which presents single inheritance for classes and multiple subtyping for interfaces. Multiple inheritance is a well known complication. Secondly, the production of executable programs may involve various schemes, from global compilation frameworks, where the whole program is known at compile time, to separate compilation and dynamic loading, where each program unit---usually a class in an object-oriented context---is compiled and loaded independently of any usage. Global compilation is well known to facilitate optimization. In this paper, we review the various implementation schemes available in the context of static typing and in the three cases of single inheritance, multiple inheritance, and single inheritance but with multiple subtyping, e.g. JAVA. The survey focuses on separate compilation and dynamic loading, as it is the most commonly used framework and the most demanding. However, many works have been recently undertaken in the global compilation framework, mostly for dynamically typed languages but also applied to the EIFFEL language in the SMARTEIFFEL compiler. Hence, we examine global techniques and how they can improve implementation efficiency. Finally, a mixed framework is considered, where separate compilation is followed by a global step, similar to linking, which uses global techniques, as well for implementation, with coloring, as for optimization, with type analysis. An application to dynamic loading is sketched

    Changes in conformational equilibria regulate the activity of the Dcp2 decapping enzyme

    No full text
    Crystal structures of enzymes are indispensable to understanding their mechanisms on a molecular level. It, however, remains challenging to determine which structures are adopted in solution, especially for dynamic complexes. Here, we study the bilobed decapping enzyme Dcp2 that removes the 5' cap structure from eukaryotic mRNA and thereby efficiently terminates gene expression. The numerous Dcp2 structures can be grouped into six states where the domain orientation between the catalytic and regulatory domains significantly differs. Despite this wealth of structural information it is not possible to correlate these states with the catalytic cycle or the activity of the enzyme. Using methyl transverse relaxation-optimized NMR spectroscopy, we demonstrate that only three of the six domain orientations are present in solution, where Dcp2 adopts an open, a closed, or a catalytically active state. We show how mRNA substrate and the activator proteins Dcp1 and Edc1 influence the dynamic equilibria between these states and how this modulates catalytic activity. Importantly, the active state of the complex is only stably formed in the presence of both activators and the mRNA substrate or the m7GDP decapping product, which we rationalize based on a crystal structure of the Dcp1: Dcp2: Edc1: m7GDP complex. Interestingly, we find that the activating mechanisms in Dcp2 also result in a shift of the substrate specificity from bacterial to eukaryotic mRNA

    Designed Synthesis of a Highly Conjugated Hexaethynylbenzene-Based Host for Supramolecular Architectures

    No full text
    The construction of efficient synthetic functional receptors with tunable cavities, and the self-organization of guest molecules within these cavities through noncovalent interactions can be challenging. Here we have prepared a double-cavity molecular cup based on hexaethynylbenzene that possesses a highly π-conjugated interior for the binding of electron-rich guests. X-ray crystallography, NMR spectroscopy, UV/Vis spectroscopy, fluorescent spectroscopy, cyclic voltammetry, and SEM were used to investigate the structures and the binding behaviors. The results indicated that the binding of a guest in one cavity would affect the binding of the same or another guest in the other cavity. The effect of electron transfer in this system suggests ample opportunities for tuning the optical and electronic properties of the molecular cup and the encapsulated guest. The encapsulation of different guests would also lead to different aggregate nanostructures, which is a new way to tune their supramolecular architectures

    Host preference and specialization in Gnathia sp., a common parasitic isopod of coral reef fishes

    No full text
    A gnathiid species (Crustacea: Isopoda; one of the most common ectoparasites of coral reef fishes) from the Great Barrier Reef, Australia, was allowed to choose among fishes from three different families to feed on (using two species of fishes per family). Gnathiids showed a strong preference for labrids, rarely feeding on pomacentrids or apogonids. In a separate experiment, gnathiid host preference did not vary among three labrid fish species. Gnathiids that fed on labrids had higher survival than those that fed on apogonids. Male gnathiids that fed on labrids also moulted to the adult stage more quickly. This suggests that host specialization and local adaptation might be occurring between these ectoparasites and their host fishes at the host fish family level
    corecore