book chapter · Birkhäuser Boston eBooks · 1993
CDS0: The Kernel of a Functional Language
Cited by 0Abstract and details only
Abstract
In this chapter we reintroduce the objects of the preceding chapters as components of a functional programming language. Section 1 presents a (tentative) concrete syntax of finite and infinite data structure definitions, using either enumeration, or two powerful constructors: grafting and recursion. The classical product, sum, and list constructors are derived from those two constructors in a simple way. Section 2 introduces a concrete syntax for the two types of constants of the language: the states, which are enumerations of events, and the sequential algorithms, which are programs manipulating states,and are written using reading (“valof”) and writing (“output”) instructions.We show how to compile sequential algorithms (the “functional” constants) into states (the “basic” constants). Section 3 introduces the algebra of expressions, which is based on the constants of Section 2, and on chapter’s 1 categorical combinators. Section 4 introduces two different possible operational semantics: CDS01 and CDS02. Oneof them, CDS01, is formally described in Section 5, using conditional rewrite rules in the style of Structural Operational Semantics [PloOp].
Cite this paper
Curien, P.-L. (1993). CDS0: The Kernel of a Functional Language. Birkhäuser Boston eBooks, 251–315. https://doi.org/10.1007/978-1-4612-0317-9_3
Curien, Pierre-Louis. “CDS0: The Kernel of a Functional Language.” Birkhäuser Boston eBooks, 1993, pp. 251–315, https://doi.org/10.1007/978-1-4612-0317-9_3.
Curien, Pierre-Louis. 1993. “CDS0: The Kernel of a Functional Language.” Birkhäuser Boston eBooks: 251–315. https://doi.org/10.1007/978-1-4612-0317-9_3.
Curien, P.-L. (1993) ‘CDS0: The Kernel of a Functional Language’, Birkhäuser Boston eBooks, pp. 251–315. Available at: https://doi.org/10.1007/978-1-4612-0317-9_3.
@incollection{curien1993cds0,
title = {{CDS0: The Kernel of a Functional Language}},
author = {Curien, Pierre-Louis},
booktitle = {Birkhäuser Boston eBooks},
pages = {251--315},
year = {1993},
doi = {10.1007/978-1-4612-0317-9_3}
}Made from the index record. Check names, capitalisation and page numbers against the paper. Need another style? AI for Research has over 10,000.