## Variations of Inputs vs. Outputs

Mathematical — functional — notation, employs functions that take exactly one input and produce exactly one output.

All inputs come as a block at the same time.

All outputs are produced as a block at the same time.

The function begins life when an input block arrives.

The function ends life when an output block is sent.

This paradigm leaves out other possibilities, such as:

• one input, several outputs
• several inputs arriving at different times
• several outputs sent at different times
• zero inputs, one or more outputs
• several inputs, zero outputs
• components that run forever (e.g. HTML servers).
• etc.

Functional notation expunges the notion of time, hence, it is difficult to express sequential behaviours.  Functional notation is hitting a wall.[1]

Functional notation was invented for pen-and-paper.  We use computers, now.  Computers can be used to express notions that are inconvenient to express using only pen-and-paper.

[1] The FP notational bottleneck resulted in the creation of callback syntax in Javascript.  HTML is the only popular language for coordination of distributed computers.