Semantic Domains and Denotational Semantics

Abstract

This chapter discusses classes of mathematical structures suitable for use as the semantic domains of programming language constructs. Such structures play a significant role in the foundation of denotational semantics. Many categories of domains have been introduced to serve various purposes, but existing theories share several important characteristics. One such common concept is the view of partial elements provided by the theory. This concept of partiality is integral to the way the semantic domains we discuss can be used to model such programming language features as recursive definitions of functions and datatypes. A theory of computability on abstract spaces requires a concept of finite approximation which is also provided by the theory of semantic domains. These concepts must be defined for spaces that maintain the desired level of abstraction while still providing an intuitive explanation of computability for functions, functionals, and such programming constructs as higher-order procedures streams and so on. We discuss two classes of domains in some detail with an attempt to motivate the need for the conditions being imposed on the structures in computational terms. We have attempted to avoid heavy abstractions while trying to introduce the reader to several of the central concepts and techniques which are common to all of the approaches we might have taken. (edc)

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Feb 14, 1989
Accession Number
ADA220285

Entities

People

  • Carl A. Gunter
  • Dana S. Scott
  • Peter D. Mosses

Organizations

  • Moore School of Electrical Engineering

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Boolean Algebra
  • Calculus
  • Computer Programming
  • Computer Science
  • Computers
  • Construction
  • Context Free Grammars
  • Grammars
  • High Level Languages
  • Language
  • Linguistics
  • Mathematical Logic
  • Mathematics
  • Numbers
  • Programming Languages
  • Real Numbers
  • Theoretical Computer Science

Fields of Study

  • Computer science

Readers

  • Computational Linguistics
  • Operations Research
  • Systems Analysis and Design

Technology Areas

  • Space