This is how i see it:
| ┏━ | ━━━━━━━━━━━━━━━━━━ | ┳━ | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ┓ |
|---|---|---|---|---|
| ┃ | Functional programming | ┃ | Pure Data | ┃ |
| ┡━ | ━━━━━━━━━━━━━━━━━━ | ╇━ | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | ┩ |
| ├ | Function | ┼ | Abstraction | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Define function in code | ┼ | Create abstraction as separate file | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Call function | ┼ | Send a message to left inlet of the abstraction | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Arguments | ┼ | Input into the inlets and creation arguments | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Return values | ┼ | Output of the outlets | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Local variables | ┼ | $0 in object names | ┤ |
| ├─ | ────────────────── | ┼─ | ──────────────────────────────── | ┤ |
| ├ | Recursive function | ┼ | Manual recursion by using [until] outside of the abstraction | ┤ |
| └─ | ────────────────── | ┴─ | ──────────────────────────────── | ┘ |


