54 research outputs found
A Logical Approach To Deciding Semantic Subtyping
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
International audienceWe consider the problem of determinizing and minimizing automata for nested words in practice. For this we compile the nested regular expressions () from the usual XPath benchmark to nested word automata (). The determinization of these , however, fails to produce reasonably small automata. In the best case, huge deterministic are produced after few hours, even for relatively small of the benchmark. We propose a different approach to the determinization of automata for nested words. For this, we introduce stepwise hedge automata () that generalize naturally on both (stepwise) tree automata and on finite word automata. We then show how to determinize , yielding reasonably small deterministic automata for the from the XPath benchmark. The size of deterministic automata can be reduced further by a novel minimization algorithm for a subclass of . In order to understand why the new approach to determinization and minimization works so nicely, we investigate the relationship between and further. Clearly, deterministic can be compiled to deterministic NWAs in linear time, and conversely, can be compiled to nondeterministic in polynomial time. Therefore, we can use as intermediates for determinizing , while avoiding the huge size increase with the usual determinization algorithm for . Notably, the NWAs obtained from the perform bottom-up and left-to-right computations only, but no top-down computations. This -behavior can be distinguished syntactically by the (weak) single-entry property, suggesting a close relationship between and single-entry . In particular, it turns out that the usual determinization algorithm for behaves well for single-entry , while it quickly explodes without the single-entry property. Furthermore, it is known that the class of deterministic multi-module single-entry enjoys unique minimization. The subclass of deterministic 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 , 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
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
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
Graceful Language Extensions and Interfaces
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
- …