5,207 research outputs found

    Conditionals and Unconditionals

    Get PDF

    Definiteness Projection

    Get PDF
    We argue that definite noun phrases give rise to uniqueness inferences characterized by a pattern we call definiteness projection. Definiteness projection says that the uniqueness inference of a definite projects out unless there is an indefinite antecedent in a position that filters presuppositions. We argue that definiteness projection poses a serious puzzle for e-type theories of (in)definites; on such theories, indefinites should filter existence presuppositions but not uniqueness presuppositions. We argue that definiteness projection also poses challenges for dynamic approaches, which have trouble generating uniqueness inferences and predicting some filtering behavior, though unlike the challenge for e-type theories, these challenges have mostly been noted in the literature, albeit in a piecemeal way. Our central aim, however, is not to argue for or against a particular view, but rather to formulate and motivate a generalization about definiteness which any adequate theory must account for

    Synchronising C/C++ and POWER

    Get PDF
    Shared memory concurrency relies on synchronisation primitives: compare-and-swap, load-reserve/store-conditional (aka LL/SC), language-level mutexes, and so on. In a sequentially consistent setting, or even in the TSO setting of x86 and Sparc, these have well-understood semantics. But in the very relaxed settings of IBM®, POWER®, ARM, or C/C++, it remains surprisingly unclear exactly what the programmer can depend on. This paper studies relaxed-memory synchronisation. On the hardware side, we give a clear semantic characterisation of the load-reserve/store-conditional primitives as provided by POWER multiprocessors, for the first time since they were introduced 20 years ago; we cover their interaction with relaxed loads, stores, barriers, and dependencies. Our model, while not officially sanctioned by the vendor, is validated by extensive testing, comparing actual implementation behaviour against an oracle generated from the model, and by detailed discussion with IBM staff. We believe the ARM semantics to be similar. On the software side, we prove sound a proposed compilation scheme of the C/C++ synchronisation constructs to POWER, including C/C++ spinlock mutexes, fences, and read-modify-write operations, together with the simpler atomic operations for which soundness is already known from our previous work; this is a first step in verifying concurrent algorithms that use load-reserve/store-conditional with respect to a realistic semantics. We also build confidence in the C/C++ model in its own terms, fixing some omissions and contributing to the C standards committee adoption of the C++11 concurrency model

    Partial Manifestations

    Get PDF

    Teleological Dispositions

    Get PDF
    • …
    corecore