Machine Readability

No Order

  • Relational Languages do not imply sequential operation
  • No “declaration before use”

    Not Syntax Driven

    The syntax of relations is very simple relation (subject, object). Relations can be emitted (output) in any order.

    This is Important Because…

    Emitting machine-readable code is harder when output must be put in some order.

E.G. C requires declaration-before-use, e.g.

void func (a) {
  x = 5;
}
int x; 

is illegal and must be rewritten as

int x; 
void func (a) {
  x = 5;
}

In this case, the emitter must make sure that int x; occurs prior to the function definition.

In more complicated examples, this requires the use of various buffers to memorize code sequences, with a final pass that orders the outputting of buffers

Relations, though, can be emitted in any order - the engine takes care of figuring out the order (for searching).

Separation of Architecture from Implementation

Engine

See Also

References
Table of Contents