142,774 research outputs found

    Indefinites, negation and Jespersen's Cycle in the history of Low German

    Get PDF
    This paper offers a formal account of the diachronic changes in the interaction between indefinites in the scope of negation and the expression of sentential negation in the history of Low German. Different types of negative concord develop at the different historical stages. Parallel to that, the language underwent Jespersen's Cycle. In addition, I argue that, against common belief, Jespersen's Cycle is at best indirectly related to the type of interaction between indefinites and negation. Changes in the type of indefinites used in the scope of negation arise due to changes in the lexical properties of the indefinites involved, not as a result of changes in the expression of negation. Conversely, changes in the type of indefinites do not trigger changes in the expression of negation

    Koka: Programming with Row Polymorphic Effect Types

    Full text link
    We propose a programming model where effects are treated in a disciplined way, and where the potential side-effects of a function are apparent in its type signature. The type and effect of expressions can also be inferred automatically, and we describe a polymorphic type inference system based on Hindley-Milner style inference. A novel feature is that we support polymorphic effects through row-polymorphism using duplicate labels. Moreover, we show that our effects are not just syntactic labels but have a deep semantic connection to the program. For example, if an expression can be typed without an exn effect, then it will never throw an unhandled exception. Similar to Haskell's `runST` we show how we can safely encapsulate stateful operations. Through the state effect, we can also safely combine state with let-polymorphism without needing either imperative type variables or a syntactic value restriction. Finally, our system is implemented fully in a new language called Koka and has been used successfully on various small to medium-sized sample programs ranging from a Markdown processor to a tier-splitted chat application. You can try out Koka live at www.rise4fun.com/koka/tutorial.Comment: In Proceedings MSFP 2014, arXiv:1406.153

    Functional programming languages for verification tools: experiences with ML and Haskell

    Get PDF
    We compare Haskell with ML as programming languages for verification tools, based on our experience developing TRUTH in Haskell and the Edinburgh Concurrency Workbench (CWB) in ML. We discuss not only technical language features but also the "worlds" of the languages, for example, the availability of tools and libraries

    Information Flow Control in WebKit's JavaScript Bytecode

    Get PDF
    Websites today routinely combine JavaScript from multiple sources, both trusted and untrusted. Hence, JavaScript security is of paramount importance. A specific interesting problem is information flow control (IFC) for JavaScript. In this paper, we develop, formalize and implement a dynamic IFC mechanism for the JavaScript engine of a production Web browser (specifically, Safari's WebKit engine). Our IFC mechanism works at the level of JavaScript bytecode and hence leverages years of industrial effort on optimizing both the source to bytecode compiler and the bytecode interpreter. We track both explicit and implicit flows and observe only moderate overhead. Working with bytecode results in new challenges including the extensive use of unstructured control flow in bytecode (which complicates lowering of program context taints), unstructured exceptions (which complicate the matter further) and the need to make IFC analysis permissive. We explain how we address these challenges, formally model the JavaScript bytecode semantics and our instrumentation, prove the standard property of termination-insensitive non-interference, and present experimental results on an optimized prototype

    The Parma Polyhedra Library: Toward a Complete Set of Numerical Abstractions for the Analysis and Verification of Hardware and Software Systems

    Get PDF
    Since its inception as a student project in 2001, initially just for the handling (as the name implies) of convex polyhedra, the Parma Polyhedra Library has been continuously improved and extended by joining scrupulous research on the theoretical foundations of (possibly non-convex) numerical abstractions to a total adherence to the best available practices in software development. Even though it is still not fully mature and functionally complete, the Parma Polyhedra Library already offers a combination of functionality, reliability, usability and performance that is not matched by similar, freely available libraries. In this paper, we present the main features of the current version of the library, emphasizing those that distinguish it from other similar libraries and those that are important for applications in the field of analysis and verification of hardware and software systems.Comment: 38 pages, 2 figures, 3 listings, 3 table

    EUā€™s civil society bias in the neighbourhood : a case study on culture

    Get PDF
    This article attempts to analyse the European Union's (EU) financial and technical support to cultural actors in EU Neighbourhood countries. In particular, it enquires whether the boundaries of what cultural sector means for the EU are based on a Eurocentric understanding of civil society or rather on a more inclusive definition mediated with partner countries' societies. The work hypothesises that the EU tends to support cultural civil society organisations on the basis of their closeness to European standards, norms and values. Findings highlight a mixed picture. On the one hand. a Eurocentric understanding of civil society tends to prevail in EU discourses and is enforced by technical means addressing the status and capacity of the organisations involved, with some exceptions. On the other hand, the EU does not seem to impose strong prerequisites concerning the agenda of organisations and aims to be as inclusive as possible
    • ā€¦
    corecore