1,607 research outputs found

    Type Classes for Lightweight Substructural Types

    Full text link
    Linear and substructural types are powerful tools, but adding them to standard functional programming languages often means introducing extra annotations and typing machinery. We propose a lightweight substructural type system design that recasts the structural rules of weakening and contraction as type classes; we demonstrate this design in a prototype language, Clamp. Clamp supports polymorphic substructural types as well as an expressive system of mutable references. At the same time, it adds little additional overhead to a standard Damas-Hindley-Milner type system enriched with type classes. We have established type safety for the core model and implemented a type checker with type inference in Haskell.Comment: In Proceedings LINEARITY 2014, arXiv:1502.0441

    Uniqueness Typing for Resource Management in Message-Passing Concurrency

    Get PDF
    We view channels as the main form of resources in a message-passing programming paradigm. These channels need to be carefully managed in settings where resources are scarce. To study this problem, we extend the pi-calculus with primitives for channel allocation and deallocation and allow channels to be reused to communicate values of different types. Inevitably, the added expressiveness increases the possibilities for runtime errors. We define a substructural type system which combines uniqueness typing and affine typing to reject these ill-behaved programs

    Structure and singly occupied molecular orbital analysis of anionic tautomers of guanine

    Get PDF
    Recently we reported the discovery of adiabatically bound anions of guanine which might be involved in the processes of DNA damage by low-energy electrons and in charge transfer through DNA. These anions correspond to some tautomers that have been ignored thus far. They were identified using a hybrid quantum mechanical-combinatorial approach in which an energy-based screening was performed on the library of 499 tautomers with their relative energies calculated with quantum chemistry methods. In the current study we analyze the adiabatically bound anions of guanine in two aspects: 1) the geometries and excess electron distributions are analyzed and compared with anions of the most stable neutrals to identify the sources of stability; 2) the chemical space of guanine tautomers is explored to verify if these new tautomers are contained in a particular subspace of the tautomeric space. The first task involves the development of novel approaches – the quantum chemical data like electron density, orbital and information on its bonding/antibonding character are coded into holograms and analyzed using chemoinformatics techniques. The second task is completed using substructure analysis and clustering techniques performed on molecules represented by 2D fingerprints. The major conclusion is that the high stability of adiabatically bound anions originates from the bonding character of the pi orbital occupied by the excess electron. This compensates for the antibonding character that usually causes significant buckling of the ring. Also the excess electron is more homogenously distributed over both rings than in the case of anions of the most stable neutral species. In terms of 2D substructure, the most stable anionic tautomers generally have additional hydrogen atoms at C8 and/or C2 and they don’t have hydrogen atoms attached to C4, C5 and C6. They also form an “island of stability” in the tautomeric space of guanine

    Uniqueness typing for a higher-order language

    Get PDF
    We investigate type-based analysis for a higher-order channel passing language with strong update, whereby messages of a different kind are communicated over the same channel. In order to reason about such programs, our type system employs the concept of uniqueness to be able to assert when it is safe to change the object type a channel. We design a type system based on this concept and prove that our type system is sound, meaning that it only accepts programs that do not produce runtime errors.peer-reviewe

    Finite element analysis of thermal distortion effects on optical performance of solar dynamic concentrator for Space Station Freedom

    Get PDF
    An analysis was performed to predict the thermal distortion of the solar dynamic concentrator for Space Station Freedom in low earth orbit and to evaluate the effects of that thermal distortion on concentrator on-orbit performance. The analysis required substructural finite element modeling of critical concentrator structural subsystems, structural finite element modeling of the concentrator, mapping of thermal loading onto the structural finite element model, and the creation of specialized postprocessors to assist in interpreting results. Concentrator temperature distributions and thermally induced displacements and slope errors and the resulting receiver flux distribution profiles are discussed. Results determined for a typical orbit indicate that concentrator facet rotations are less than 0.2 mrad and that the change in facet radius due to thermal flattening is less than 5 percent. The predicted power loss due to thermal distortion effects is less than 0.3 percent. As a consequence the thermal distortions of the solar dynamic concentrator in low earth orbit will have a negligible effect on the flux distribution profiles within the receiver

    Visual and computational analysis of structure-activity relationships in high-throughput screening data

    Get PDF
    Novel analytic methods are required to assimilate the large volumes of structural and bioassay data generated by combinatorial chemistry and high-throughput screening programmes in the pharmaceutical and agrochemical industries. This paper reviews recent work in visualisation and data mining that can be used to develop structure-activity relationships from such chemical/biological datasets

    Tool support for reasoning in display calculi

    Get PDF
    We present a tool for reasoning in and about propositional sequent calculi. One aim is to support reasoning in calculi that contain a hundred rules or more, so that even relatively small pen and paper derivations become tedious and error prone. As an example, we implement the display calculus D.EAK of dynamic epistemic logic. Second, we provide embeddings of the calculus in the theorem prover Isabelle for formalising proofs about D.EAK. As a case study we show that the solution of the muddy children puzzle is derivable for any number of muddy children. Third, there is a set of meta-tools, that allows us to adapt the tool for a wide variety of user defined calculi

    Compositional Reasoning for Explicit Resource Management in Channel-Based Concurrency

    Get PDF
    We define a pi-calculus variant with a costed semantics where channels are treated as resources that must explicitly be allocated before they are used and can be deallocated when no longer required. We use a substructural type system tracking permission transfer to construct coinductive proof techniques for comparing behaviour and resource usage efficiency of concurrent processes. We establish full abstraction results between our coinductive definitions and a contextual behavioural preorder describing a notion of process efficiency w.r.t. its management of resources. We also justify these definitions and respective proof techniques through numerous examples and a case study comparing two concurrent implementations of an extensible buffer.Comment: 51 pages, 7 figure
    corecore