
arXiv: 2011.10373
handle: 10831/115528
Formal semantics provides rigorous, mathematically precise definitions of programming languages, with which we can argue about program behaviour and program equivalence by formal means; in particular, we can describe and verify our arguments with a proof assistant. There are various approaches to giving formal semantics to programming languages, at different abstraction levels and applying different mathematical machinery. In this paper we investigate some of the approaches that share their roots with traditional relational big-step semantics, such as (a) functional big-step semantics, (b) pretty-big-step semantics and (c) traditional natural semantics. We compare these approaches with respect to the following criteria: executability of the semantics definition, proof complexity for essential mathematical properties and the conciseness of expression equivalence proofs. The comparison is based on formalisations of a sequential subset of Core Erlang, a simple functional programming language.
FOS: Computer and information sciences, formal semantics, Computer Science - Programming Languages, Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.), Theory of programming languages, Semantics in the theory of computing, Core Erlang, Categorical semantics of formal languages, pretty-big-step semantics, Formalization of mathematics in connection with theorem provers, Coq, Functional programming and lambda calculus, functional big-step semantics, natural semantics, Programming Languages (cs.PL)
FOS: Computer and information sciences, formal semantics, Computer Science - Programming Languages, Mathematical aspects of software engineering (specification, verification, metrics, requirements, etc.), Theory of programming languages, Semantics in the theory of computing, Core Erlang, Categorical semantics of formal languages, pretty-big-step semantics, Formalization of mathematics in connection with theorem provers, Coq, Functional programming and lambda calculus, functional big-step semantics, natural semantics, Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
