2,729 research outputs found
Facilitating modular property-preserving extensions of programming languages
We will explore an approach to modular programming language descriptions and extensions in a denotational style.
Based on a language core, language features are added stepwise on the core. Language features can be described
separated from each other in a self-contained, orthogonal way. We present an extension semantics framework consisting
of mechanisms to adapt semantics of a basic language to new structural requirements in an extended language
preserving the behaviour of programs of the basic language. Common templates of extension are provided. These
can be collected in extension libraries accessible to and extendible by language designers. Mechanisms to extend
these libraries are provided. A notation for describing language features embedding these semantics extensions is
presented
Truth-Theoretic Semantics and Its Limits
Donald Davidson was one of the most influential philosophers of the last half of the 20th century, especially in the theory of meaning and in the philosophy of mind and action. In this paper, I concentrate on a field-shaping proposal of Davidsonās in the theory of meaning, arguably his most influential, namely, that insight into meaning may be best pursued by a bit of indirection, by showing how appropriate knowledge of a finitely axiomatized truth theory for a language can put one in a position both to interpret the utterance of any sentence of the language and to see how its semantically primitive constituents together with their mode of combination determines its meaning (Davidson 1965, 1967, 1970, 1973a). This project has come to be known as truth-theoretic semantics. My aim in this paper is to render the best account I can of the goals and methods of truth-theoretic semantics, to defend it against some objections, and to identify its limitations. Although I believe that the project I describe conforms to the main idea that Davidson had, my aim is not primarily Davidson exegesis. I want to get on the table an approach to compositional semantics for natural languages, inspired by Davidson, but extended and developed, which I think does about as much along those lines as any theory could. I believe it is Davidsonās project, and I defend this in detail elsewhere (Ludwig 2015; Lepore and Ludwig 2005, 2007a, 2007b, 2011). But I want to develop and defend the project while also exploring its limitations, without getting entangled in exegetical questions
Meta SOS - A Maude Based SOS Meta-Theory Framework
Meta SOS is a software framework designed to integrate the results from the
meta-theory of structural operational semantics (SOS). These results include
deriving semantic properties of language constructs just by syntactically
analyzing their rule-based definition, as well as automatically deriving sound
and ground-complete axiomatizations for languages, when considering a notion of
behavioural equivalence. This paper describes the Meta SOS framework by
blending aspects from the meta-theory of SOS, details on their implementation
in Maude, and running examples.Comment: In Proceedings EXPRESS/SOS 2013, arXiv:1307.690
A Tool for Describing and Checking Natural Semantics Definitions of Programming Languages
Many universities have courses and projects revolving around compiler or
interpreter implementation as part of their degree programmes in computer
science. In such teaching activities, tool support can be highly beneficial.
While there are already several tools for assisting with development of the
front end of compilers, tool support tapers off towards the back end, or
requires more background experience than is expected of undergraduate students.
Structural operational semantics is a useful and mathematically simple
formalism for specifying the behaviour of programs and a specification lends
itself well to implementation; in particular big-step or natural semantics is
often a useful and simple approach. However, many students struggle with
learning the notation and often come up with ill-defined and meaningless
attempts at defining a structural operational semantics. A survey shows that
students working on programming language projects feel that tool support is
lacking and would be useful.
Many of these problems encountered when developing a semantic definition are
similar to problems encountered in programming, in particular ones that are
essentially the result of type errors.
We present a pedagogical metalanguage based on natural semantics, and its
implementation, as an attempt to marry two notions: a syntax similar to
textbook notation for natural semantics on the one hand, and automatic
verification of some correctness properties on the other by means of a strong
type discipline. The metalanguage and the tool provide the facilities for
writing and executing specifications as a form of programming. The user can
check that the specification is not meaningless as well as execute programs, if
the specification makes sense.Comment: In Proceedings FROM 2022, arXiv:2209.0920
An Open Challenge Problem Repository for Systems Supporting Binders
A variety of logical frameworks support the use of higher-order abstract
syntax in representing formal systems; however, each system has its own set of
benchmarks. Even worse, general proof assistants that provide special libraries
for dealing with binders offer a very limited evaluation of such libraries, and
the examples given often do not exercise and stress-test key aspects that arise
in the presence of binders. In this paper we design an open repository ORBI
(Open challenge problem Repository for systems supporting reasoning with
BInders). We believe the field of reasoning about languages with binders has
matured, and a common set of benchmarks provides an important basis for
evaluation and qualitative comparison of different systems and libraries that
support binders, and it will help to advance the field.Comment: In Proceedings LFMTP 2015, arXiv:1507.0759
- ā¦