Bertrand(ID:494/ber002)


(named for the British mathematician Bertrand Russell (1872- 1970))

William Leler

Constraint language generator with rule-based specification; based on augmented term rewriting. Used to implement constraint languages. The user must explicitly specify the tree-search and the constraint propagation. Has a form of abstract data type as a first-class object




Structures:
Related languages
Bertrand => Siri   Influence

References:
  • Leler, Win. Bertrand, A General Purpose Constraint Language. Technical Report Draft, Computer Research Laboratory, Tektronix, Inc., Feb, 1985. view details
  • Leler, W. "Specification and Generation of Constraint Satisfaction Systems Using Augmented Term Rewriting" PhD UNC at Chapel Hill 1986 view details
  • Leler, W. "Constraint programming languages: their specification and generation" Reading, Mass., Addison-Wesley Pub. Co. 1988 view details Extract: Introduction
    Constraint languages represent a new programming paradigm with applications in such areas as the simulation of physical systems, computer-aided design, VLSI, graphics, and typesetting.  Constraint languages are declarative; a programmer specifies a desired goal, not a specific algorithm to accomplish that goal.  As a result, constraint programs are easy to build and modify, and their nonprocedural nature makes them amenable for execution on parallel
    processors.

    This book is aimed at researchers investigating declarative programming languages and rewrite rule systems, and engineers interested in building useful systems using constraint-satisfaction techniques.  It provides an introduction to the subject of constraint satisfaction, a survey of existing systems, and introduces a new technique that makes constraint-satisfaction systems easier to create and extend.  A general-purpose specification language called Bertrand is defined that allows users to describe a constraint-satisfaction system using rules.  This language uses a new inference mechanism called augmented term rewriting to execute the user's specification.  Bertrand supports a rule-based programming methodology, and also includes a form of abstract data type.  Using rules, a user can describe new objects and new constraint-satisfaction mechanisms.  This book shows how existing constraint-satisfaction systems can be implemented using Bertrand, and gives examples of how to use Bertrand to solve algebraic word and computer-engineering problems, and problems in graphics involving computer-aided design, illustration, and mapping.  It also gives a precise operational semantics for augmented term rewriting, and presents techniques for efficient execution, including interpretation using fast pattern matching, and compilation.

            Preface, Constraint Programming Languages
             (COurtesy of Primetime UNIX Freeware)
  • Library of Congress Subject Headings B47 view details
    Resources
    • Prime Time Freeware for UNIX, Issue 4-2 language/bertrand/
      external link