Modularity and implementation of mathematical operational semantics

M. Jaskelioff, N. Ghani, G. Hutton

Research output: Contribution to journalArticle

13 Citations (Scopus)

Abstract

Structural operational semantics is a popular technique for specifying the meaning of programs by means of inductive clauses. One seeks syntactic restrictions on those clauses so that the resulting operational semantics is well-behaved. This approach is simple and concrete but it has some drawbacks. Turi pioneered a more abstract categorical treatment based upon the idea that operational semantics is essentially a distribution of syntax over behaviour. In this article we take Turi s approach in two new directions. Firstly, we show how to write operational semantics as modular components and how to combine such components to specify complete languages. Secondly, we show how the categorical nature of Turi s operational semantics makes it ideal for implementation in a functional programming language such as Haskell.
LanguageEnglish
Pages75-95
Number of pages21
JournalElectronic Notes in Theoretical Computer Science
Volume229
Issue number5
DOIs
Publication statusPublished - 8 Mar 2011

Fingerprint

Operational Semantics
Modularity
Semantics
Categorical
Structural Operational Semantics
Haskell
Functional Programming
Functional programming
Programming Languages
Syntactics
Computer programming languages
Restriction
Concretes
Syntax

Keywords

  • category theory
  • functional programming languages
  • Haskell
  • mathematical operational semantics
  • Modularity
  • Modular components
  • Operational semantics
  • Structural operational semantics

Cite this

@article{7168aad558264f6db045e283a991b887,
title = "Modularity and implementation of mathematical operational semantics",
abstract = "Structural operational semantics is a popular technique for specifying the meaning of programs by means of inductive clauses. One seeks syntactic restrictions on those clauses so that the resulting operational semantics is well-behaved. This approach is simple and concrete but it has some drawbacks. Turi pioneered a more abstract categorical treatment based upon the idea that operational semantics is essentially a distribution of syntax over behaviour. In this article we take Turi s approach in two new directions. Firstly, we show how to write operational semantics as modular components and how to combine such components to specify complete languages. Secondly, we show how the categorical nature of Turi s operational semantics makes it ideal for implementation in a functional programming language such as Haskell.",
keywords = "category theory, functional programming languages, Haskell, mathematical operational semantics, Modularity, Modular components, Operational semantics, Structural operational semantics",
author = "M. Jaskelioff and N. Ghani and G. Hutton",
year = "2011",
month = "3",
day = "8",
doi = "10.1016/j.entcs.2011.02.017",
language = "English",
volume = "229",
pages = "75--95",
journal = "Electronic Notes in Theoretical Computer Science",
issn = "1571-0661",
number = "5",

}

Modularity and implementation of mathematical operational semantics. / Jaskelioff, M.; Ghani, N.; Hutton, G.

In: Electronic Notes in Theoretical Computer Science, Vol. 229, No. 5, 08.03.2011, p. 75-95.

Research output: Contribution to journalArticle

TY - JOUR

T1 - Modularity and implementation of mathematical operational semantics

AU - Jaskelioff, M.

AU - Ghani, N.

AU - Hutton, G.

PY - 2011/3/8

Y1 - 2011/3/8

N2 - Structural operational semantics is a popular technique for specifying the meaning of programs by means of inductive clauses. One seeks syntactic restrictions on those clauses so that the resulting operational semantics is well-behaved. This approach is simple and concrete but it has some drawbacks. Turi pioneered a more abstract categorical treatment based upon the idea that operational semantics is essentially a distribution of syntax over behaviour. In this article we take Turi s approach in two new directions. Firstly, we show how to write operational semantics as modular components and how to combine such components to specify complete languages. Secondly, we show how the categorical nature of Turi s operational semantics makes it ideal for implementation in a functional programming language such as Haskell.

AB - Structural operational semantics is a popular technique for specifying the meaning of programs by means of inductive clauses. One seeks syntactic restrictions on those clauses so that the resulting operational semantics is well-behaved. This approach is simple and concrete but it has some drawbacks. Turi pioneered a more abstract categorical treatment based upon the idea that operational semantics is essentially a distribution of syntax over behaviour. In this article we take Turi s approach in two new directions. Firstly, we show how to write operational semantics as modular components and how to combine such components to specify complete languages. Secondly, we show how the categorical nature of Turi s operational semantics makes it ideal for implementation in a functional programming language such as Haskell.

KW - category theory

KW - functional programming languages

KW - Haskell

KW - mathematical operational semantics

KW - Modularity

KW - Modular components

KW - Operational semantics

KW - Structural operational semantics

UR - http://www.scopus.com/inward/record.url?scp=79952429380&partnerID=8YFLogxK

U2 - 10.1016/j.entcs.2011.02.017

DO - 10.1016/j.entcs.2011.02.017

M3 - Article

VL - 229

SP - 75

EP - 95

JO - Electronic Notes in Theoretical Computer Science

T2 - Electronic Notes in Theoretical Computer Science

JF - Electronic Notes in Theoretical Computer Science

SN - 1571-0661

IS - 5

ER -