245 research outputs found

    Strictness types: An inference algorithm and an application

    Get PDF
    This report deals with strictness types, a way of recording whether a function needs its argument(s) or not. We shall present an inference system for assigning strictness types to expressions and subsequently we transform this system into an algorithm capable of annotating expressions with strictness types. We give an example of a transformation which can be optimized by means of these annotations, and finally we prove the correctness of the optimized transformation – at the same time proving the correctness of the annotation. Everything has been implemented; documentation can be found in appendix

    Partial Evaluation for Constraint-Based Program Analyses

    Get PDF
    We report on a case study in the application of partial evaluation, initiatedby the desire to speed up a constraint-based algorithm for control-flow analysis. We designed and implemented a dedicated partial evaluator,able to specialize the analysis wrt. a given constraint graph and thus remove the interpretive overhead, and measured it with Feeley's Schemebenchmarks. Even though the gain turned out to be rather limited, ourinvestigation yielded valuable feed back in that it provided a better understandingof the analysis, leading us to (re)invent an incremental version.We believe this phenomenon to be a quite frequent spinoff from using partial evaluation, since the removal of interpretive overhead makes the flowof control more explicit and hence pinpoints sources of inefficiency. Finally, we observed that partial evaluation in our case yields such regular,low-level specialized programs that it begs for run-time code generation

    Fungi are characterized how...? Implementing inquiry-based learning in a laboratory exercise.

    Get PDF

    What Are Polymorphically-Typed Ambients?

    Full text link
    Abstract: The Ambient Calculus was developed by Cardelli and Gordon as a formal framework to study issues of mobility and migrant code. We consider an Ambient Calculus where ambients transport and exchange programs rather that just inert data. We propose different senses in which such a calculus can be said to be polymorphically typed, and design accordingly a polymorphic type system for it. Our type system assigns types to embedded programs and what we call behaviors to processes; a denotational semantics of behaviors is then proposed, here called trace semantics, underlying much of the remaining analysis. We state and prove a Subject Reduction property for our polymorphically typed calculus. Based on techniques borrowed from finite automata theory, type-checking of fully type-annotated processes is shown to be decidable; the time complexity of our decision procedure is exponential (this is a worst-case in theory, arguably not encountered in practice). Our polymorphically-typed calculus is a conservative extension of the typed Ambient Calculus originally proposed by Cardelli and Gordon

    Convergent evolution of highly reduced fruiting bodies in Pezizomycotina suggests key adaptations to the bee habitat

    Get PDF
    BACKGROUND: Among the understudied fungi found in nature are those living in close association with social and solitary bees. The bee-specialist genera Bettsia, Ascosphaera and Eremascus are remarkable not only for their specialized niche but also for their simple fruiting bodies or ascocarps, which are morphologically anomalous in Pezizomycotina. Bettsia and Ascosphaera are characterized by a unicellular cyst-like cleistothecium known as a spore cyst, while Eremascus is characterized by completely naked asci, or asci not formed within a protective ascocarp. Before molecular phylogenetics the placement of these genera within Pezizomycotina remained tentative; morphological characters were misleading because they do not produce multicellular ascocarps, a defining character of Pezizomycotina. Because of their unique fruiting bodies, the close relationship of these bee-specialist fungi and their monophyly appeared certain. However, recent molecular studies have shown that Bettsia is not closely related to Ascosphaera. In this study, I isolated the very rare fungus Eremascus fertilis (Ascomycota, Pezizomycotina) from the bee bread of honey bees. These isolates represent the second report of E. fertilis both in nature and in the honey bee hive. To establish the systematic position of E. fertilis and Bettsia alvei, I performed phylogenetic analyses of nuclear ribosomal LSU + SSU DNA sequences from these species and 63 additional ascomycetes. RESULTS: The phylogenetic analyses revealed that Eremascus is not monophyletic. Eremascus albus is closely related to Ascosphaera in Eurotiomycetes while E. fertilis belongs in Myxotrichaceae, a putative member of Leotiomycetes. Bettsia is not closely related to Ascosphaera and like E. fertilis apparently belongs in Leotiomycetes. These results indicate that both the naked ascus and spore cyst evolved twice in the Pezizomycotina and in distantly related lineages. The new genus Skoua is described to accommodate E. fertilis. CONCLUSIONS: The naked ascus and spore cyst are both shown to have evolved convergently within the bee habitat. The convergent evolution of these unusual ascocarps is hypothesized to be adaptive for bee-mediated dispersal. Elucidating the dispersal strategies of these fungal symbionts contributes to our understanding of their interaction with bees and provides insight into the factors which potentially drive the evolution of reduced ascocarps in Pezizomycotina. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (doi:10.1186/s12862-015-0401-6) contains supplementary material, which is available to authorized users

    Type and Behaviour Reconstruction for Higher-Order Concurrent Programs

    Get PDF
    In this paper we develop a sound and complete type and behaviour inference algorithm for a fragment of CML (Standard ML with primitives for concurrency). Behaviours resemble terms of a process algebra and yield a concise representation of the communications taking place during execution; types are mostly as usual except that function types and ``delayed communication types'' are labelled by behaviours expressing the communications that will take place if the function is applied or the delayed action is activated. The development of the present paper improves a previously published algorithm in achieving completeness as well as soundness; this is due to an alternative strategy for generalising over types and behaviours
    • …
    corecore