Normalization
Normalization is a way to deconstruct software constructs (data, control flow) into some kind of Lowest Common Denominator.
Triples
Triples are the most atomic form of software1.
Relation (Subject, Object)
The Atom of Software Development
Software Atoms <=> Normalization
Automation
Normalization enables automation.
Projectional Editing
Projectional Editing consists of
- normalizing
- skinning information with multiple syntaxes (See Ohm-JS examples/incremental)
See Also
- Data Descriptors (Holt)
- RTL (Fraser Davidson peepholing) –> gcc
- OCG (Cordy “Orthogonal Code Generator”)
- Triples
- Factbases
- Audio Mixing, DAWs (Normalization of audio).
-
Q: Is a curried function more atomic than a triple or just a special case? A curried function is {function X Subject} and can be applied to an Object. 3 items are involved, but grouped differently. ↩