Lecture overview -- Keyboard shortcut: 'u'  Previous page: Introduction to linguistic abstraction [Section] -- Keyboard shortcut: 'p'  Next page: Linguistic abstraction in Lisp -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Help page about these notes  Alphabetic index  Course home  Lecture 6 - Page 2 : 22
Functional Programming in Scheme
Linguistic abstraction
Linguistic abstraction

Linguistic abstraction is the act of establishing a new language

In many contexts, linguistic abstraction is qualified with the word 'meta'. Thus we speak about metalinguistic abstraction, emphasizing that we enter a higher language level than the level we came from.

  • Abstraction by means of functions

    • Encapsulation, naming and parametrization of a potentially complex expression

    • Use of good abstractions makes a program easier to understand

    • Use of abstractions makes a program shorter, because the functions can be called from more than one context

Abstraction is a central discipline in all serious programming efforts. We have discussed functional abstraction in earlier parts of this material. Procedural abstraction is central in both the imperative paradigm and the object-oriented paradigm. Here we have contrasted functional abstraction with linguistic abstraction.

  • Abstraction by means of languages

    • Involves primitive means of expressions as well as the way the primitives can be meaningfully composed

    • A more global kind of abstraction than functional abstraction

    • Raises lexical, syntactical and - most important - semantical concerns

    • Specialized or general purpose language

Problem solving by means of linguistic abstraction is a very powerful approach