School of Computing

Programming Language Semantics using Miranda

Simon Thompson

Technical Report 9-95*, University of Kent, Computing Laboratory, University of Kent, Canterbury, UK, May 1995.


This paper explains the use of the functional programming language Miranda as a vehicle for describing the semantics of imperative programming languages. In particular we give a Miranda denotational description of a substantial subset of a Pascal-like language, describing a number of variants of the semantics, including parameter passing by value-result, dynamic binding of values to names and a simple semantics of jumps.

We also give an executable operational semantics of our basic language, as well as a compiler for this language into a simple stack machine, which is itself modelled in Miranda.

Download publication 78 kbytes

Bibtex Record

author = {Simon Thompson},
title = {{Programming Language Semantics using Miranda}},
month = {May},
year = {1995},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {},
    address = {University of Kent, Canterbury, UK},
    hensa_abstractfilename = {pub/misc/ukc.reports/comp.sci/abstracts/9-95},
    hensa_ftpaddress = {},
    hensa_reportfilename = {pub/misc/ukc.reports/comp.sci/reports/},
    institution = {University of Kent, Computing Laboratory},
    number = {9-95*},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014