Fri Oct 9 16:44:58 CEST 2009

Componend Based Software Engineering

I'm trying to reconnect to main stream OO-world terminology.  The
discipline of component-based software engineering[1] talks about
interfaces and dependencies.  Translating to PLT Scheme's large scale
compositional structure (ignoring the small-scale class / inheritance
/ mixin functionality) this reflects two parts.

Both require and provide interfaces and represent compilation units

  - units: cyclic, no macros

  - modules: acyclic w. macros

Presence of macros makes module compilation follow the dependency
graph (functionality defined in one module might influence language
semantics of other).  Modules dependencies follow a directed acyclic

Units are more like the components in CBSE.

[1] http://en.wikipedia.org/wiki/Component-based_software_engineering