University of Leicester
Browse

Equational Logic and Categorical Semantics for Multi-Languages

Download (382.61 kB)
Version 2 2021-07-08, 10:16
Version 1 2020-06-08, 09:26
conference contribution
posted on 2021-07-08, 10:15 authored by Samuele Buro, Roy Crole, Isabella Mastroeni

Programming language interoperability is the capability of two programming languages to interact as parts of a single system. Each language may be optimized for specific tasks, and a programmer can take advantage of this. HTML, CSS, and JavaScript yield a form of interoperability, working in conjunction to render webpages. Some object oriented languages have interoperability via a virtual machine host (.NET CLI compliant languages in the Common Language Runtime, and JVM compliant languages in the Java Virtual Machine). A high-level language can interact with a lower level one (Apple's Swift and Objective-C). While there has been some research exploring the interoperability mechanisms (Section 1) there is little development of theoretical foundations. This paper presents an approach to interoperability based around theories of equational logic, and categorical semantics.


We give ways in which two languages can be blended, and interoperability reasoned about using equations over the blended language. Formally, multi-language equational logic is defined within which one may deduce valid equations starting from a collection of axioms that postulate properties of the combined language. Thus we have the notion of a multi-language theory and much of the paper is devoted to exploring the properties of these theories. This is accomplished by way of category theory, giving us a very general and flexible semantics, and hence a nice collection of models. Classifying categories are constructed, and hence equational theories furnish each categorical model with an internal language; from this we can also establish soundness and completeness. A set-theoretic semantics follows as an instance, itself sound and complete. The categorical semantics is based on some pre-existing research, but we give a presentation that we feel is easier and simpler to work with, improves and mildly extends current research, and in particular is well suited to computer scientists. Throughout the paper we prove some interesting properties of the new semantic machinery. We provide a small running example throughout the paper to illustrate our ideas, and a more complex example in conclusion.


History

Citation

Electronic Notes in Theoretical Computer Science Volume 352, 1 October 2020, Pages 79-103

Author affiliation

Department of Informatics

Source

The 36th Mathematical Foundations of Programming Semantics Conference, 2020 — MFPS 2020

Version

  • VoR (Version of Record)

Published in

Electronic Notes in Theoretical Computer Science

Volume

352

Pagination

79-103

Publisher

Elsevier

eissn

1571-0661

Acceptance date

2020-04-08

Copyright date

2020

Available date

2021-07-08

Spatial coverage

Paris, France

Temporal coverage: start date

2020-06-02

Temporal coverage: end date

2020-06-06

Language

en

Usage metrics

    University of Leicester Publications

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC