340 research outputs found

    Spores: A Type-Based Foundation for Closures in the Age of Concurrency and Distribution

    Get PDF
    Functional programming (FP) is regularly touted as the way forward for bringing parallel, concurrent, and distributed programming to the mainstream. The popularity of the rationale behind this viewpoint (immutable data transformed by function application) has even lead to a number of object-oriented (OO) programming languages adopting functional features such as lambdas (functions) and thereby function closures. However, despite this established viewpoint of FP as an enabler, reliably distributing function closures over a network, or using them in concurrent environments nonetheless remains a challenge across FP and OO languages. This paper takes a step towards more principled distributed and concurrent programming by introducing a new closure-like abstraction and type system, called spores, that can guarantee closures to be serializable, thread-safe, or even have general, custom user-defined properties. Crucially, our system is based on the principle of encoding type information corresponding to captured variables in the type of a spore. We prove our type system sound, implement our approach for Scala, evaluate its practicality through an small empirical study, and show the power of these guarantees through a case analysis of real-world distributed and concurrent frameworks that this safe foundation for migratable closures facilitates

    A formally verified compiler back-end

    Get PDF
    This article describes the development and formal verification (proof of semantic preservation) of a compiler back-end from Cminor (a simple imperative intermediate language) to PowerPC assembly code, using the Coq proof assistant both for programming the compiler and for proving its correctness. Such a verified compiler is useful in the context of formal methods applied to the certification of critical software: the verification of the compiler guarantees that the safety properties proved on the source code hold for the executable compiled code as well

    On the relative expressiveness of higher-order session processes

    Get PDF
    By integrating constructs from the Ī»-calculus and the Ļ€-calculus, in higher-order process calculi exchanged values may contain processes. This paper studies the relative expressiveness of HOĻ€, the higher-order Ļ€-calculus in which communications are governed by session types. Our main discovery is that HO, a subcalculus of HOĻ€ which lacks name-passing and recursion, can serve as a new core calculus for session-typed higher-order concurrency. By exploring a new bisimulation for HO, we show that HO can encode HOĻ€ fully abstractly (upĀ to typed contextual equivalence) more precisely and efficiently than the first-order session Ļ€-calculus (Ļ€). Overall, under session types, HOĻ€, HO, and Ļ€ are equally expressive; however, HOĻ€ and HO are more tightly related than HOĻ€ and Ļ€

    Hyaluronan turnover and hypoxic brown adipocytic differentiation are co-localized with ossification in calcified human aortic valves

    Get PDF
    The calcification process in aortic stenosis has garnered considerable interest but only limited investigation into selected signaling pathways. This study investigated mechanisms related to hypoxia, hyaluronan homeostasis, brown adipocytic differentiation, and ossification within calcified valves. Surgically explanted calcified aortic valves (nļ¾ =ļ¾ 14) were immunostained for markers relevant to these mechanisms and evaluated in the center (NodCtr) and edge (NodEdge) of the calcified nodule (NodCtr), tissue directly surrounding nodule (NodSurr); center and tissue surrounding small ļ¾“prenodulesļ¾” (PreNod, PreNodSurr); and normal fibrosa layer (CollFibr). Pearson correlations were determined between staining intensities of markers within regions. Ossification markers primarily localized to NodCtr and NodEdge, along with markers related to hyaluronan turnover and hypoxia. Markers of brown adipocytic differentiation were frequently co-localized with markers of hypoxia. In NodCtr and NodSurr, brown fat and ossification markers correlated with hyaluronidase-1, whereas these markers, as well as hypoxia, correlated with hyaluronan synthases in NodEdge. The protein product of tumor necrosis factor-? stimulated gene-6 strongly correlated with ossification markers and hyaluronidase in the regions surrounding the nodules (NodSurr, PreNodSurr). In conclusion, this study suggests roles for hyaluronan homeostasis and the promotion of hypoxia by cells demonstrating brown fat markers in calcific aortic valve disease
    • ā€¦
    corecore