Boost logo

Boost :

From: Mat Marcus (mat-boost_at_[hidden])
Date: 2003-11-17 13:44:14


--On Monday, November 17, 2003 11:48 AM -0500 Brian McNamara
<lorgon_at_[hidden]> wrote:

[snip]

> You may be right. This example is a little confounded by the fact
> that whereas "Integer" is a type, "0,+" or "1,*" are values. Types,
> not values, model concepts,

[snip]

Hmm. I don't agree. I think of a concept as a collection of
sorts/types (or placeholders for sorts/types) together with a
collection of "syntactic operation specifications" involving those
sorts (with the possible addition of equations). I think of a model of
a concept as a bunch of actual types together with some operations
mentioning those types that obey the syntactic constraints (and when
equations are available the operations must satisfy those semantic
constraints as well). Note that a value can be viewed as a
constant/nullary operation. In the traditional language of algebraic
specification:

    C++/Tecton <-> Algebraic specification
-----------------------------------------------------
  syntactic concept <-> signature
  semantic concept <-> signature with equations
  model <-> sigma algebra
  type <-> sort

 - Mat


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk