54 research outputs found

    A Logical Approach To Deciding Semantic Subtyping

    Get PDF
    International audienceWe consider a type algebra equipped with recursive, product, function, intersection, union, and complement types together with type variables and implicit universal quantification over them. We consider the subtyping relation recently defined by Castagna and Xu over such type expressions and show how this relation can be decided in EXPTIME, answering an open question. The novelty, originality and strength of our solution reside in introducing a logical modeling for the semantic subtyping framework. We model semantic subtyping in a tree logic and use a satisfiability-testing algorithm in order to decide subtyping. We report on practical experiments made with a full implementation of the system. This provides a powerful polymorphic type system aiming at maintaining full static type-safety of functional programs that manipulate trees, even with higher-order functions, which is particularly useful in the context of XML

    Determinization and Minimization of Automata for Nested Words Revisited

    Get PDF
    International audienceWe consider the problem of determinizing and minimizing automata for nested words in practice. For this we compile the nested regular expressions (NREsNRE_s) from the usual XPath benchmark to nested word automata (NWNWAsA_s). The determinization of these NWNW AsA_s, however, fails to produce reasonably small automata. In the best case, huge deterministic NWNWAsA_s are produced after few hours, even for relatively small NREsNRE_s of the benchmark. We propose a different approach to the determinization of automata for nested words. For this, we introduce stepwise hedge automata (SHAsSHA_s) that generalize naturally on both (stepwise) tree automata and on finite word automata. We then show how to determinize SHAsSHA_s, yielding reasonably small deterministic automata for the NREsNRE_s from the XPath benchmark. The size of deterministic SHAsSHA_s automata can be reduced further by a novel minimization algorithm for a subclass of SHAsSHA_s. In order to understand why the new approach to determinization and minimization works so nicely, we investigate the relationship between NWAsNWA_s and SHAsSHA_s further. Clearly, deterministic SHAsSHA_s can be compiled to deterministic NWAs in linear time, and conversely, NWNWAsA_s can be compiled to nondeterministic SHAsSHA_s in polynomial time. Therefore, we can use SHAsSHA_s as intermediates for determinizing NWAsNWA_s, while avoiding the huge size increase with the usual determinization algorithm for NWAsNWA_s. Notably, the NWAs obtained from the SHAsSHA_s perform bottom-up and left-to-right computations only, but no top-down computations. This NWANWA-behavior can be distinguished syntactically by the (weak) single-entry property, suggesting a close relationship between SHAsSHA_s and single-entry NWAsNWA_s. In particular, it turns out that the usual determinization algorithm for NWAsNWA_s behaves well for single-entry NWAsNWA_s, while it quickly explodes without the single-entry property. Furthermore, it is known that the class of deterministic multi-module single-entry NWAsNWA_s enjoys unique minimization. The subclass of deterministic SHAsSHA_s to which our novel minimization algorithm applies is different though, in that we do not impose multiple modules. As further optimizations for reducing the sizes of the constructed SHAsSHA_s, we propose schema-based cleaning and symbolic representations based on apply-else rules, that can be maintained by determinization. We implemented the optimizations and report the experimental results for the automata constructed for the XPathMark benchmark

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 24th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2021, which was held during March 27 until April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The 28 regular papers presented in this volume were carefully reviewed and selected from 88 submissions. They deal with research on theories and methods to support the analysis, integration, synthesis, transformation, and verification of programs and software systems

    Metafictional anaphora:A comparison of different accounts

    Get PDF
    I argue that pronominal anaphora across mixed parafictional/ metafictional discourse (e.g. In The Lord of the Rings, Frodoi goes through an immense mental struggle. Hei is an intriguing fictional character! ) poses a problem for a workspace account. I evaluate different possible solutions based on a descriptivist approach, Zalta's logic of abstract objects and Recanati's dot-object theory

    Metafictional anaphora:A comparison of different accounts

    Get PDF

    Graceful Language Extensions and Interfaces

    No full text
    Grace is a programming language under development aimed at education. Grace is object-oriented, imperative, and block-structured, and intended for use in first- and second-year object-oriented programming courses. We present a number of language features we have designed for Grace and implemented in our self-hosted compiler. We describe the design of a pattern-matching system with object-oriented structure and minimal extension to the language. We give a design for an object-based module system, which we use to build dialects, a means of extending and restricting the language available to the programmer, and of implementing domain-specific languages. We show a visual programming interface that melds visual editing (à la Scratch) with textual editing, and that uses our dialect system, and we give the results of a user experiment we performed to evaluate the usability of our interface
    • …
    corecore