I want to write a super pedantic book showing every way I can think of to move data from here, to there. In the same program, or between programs.
Global variable.
Parameter to a function.
Pass a functor/lambda, get the value.
Environment variable.
Registry.
File.
Store it in a ping response.
VRAM texture that you write and then read.
Database.
REST server.
I'm pretty sure I could come up with a thousand ways.
But... why? Why do I want to write this book? Why has it been on my mind?
You might be interested in the book "Data Flow Analysis" by Khedker et al.
It's very compiler-focused, but it's one piece of the puzzle.
For some reason this made me think about all of the potential complexities that can be involved in CLOS in calling a generic function and some method(s) actually being invoked...
Implement your own delay-line memory with the speaker, microphone, and echo of the room.
Reminds me of Harder Drives https://tom7.org/papers/murphy2022harder.pdf
And something my friend wrote a few years ago: https://github.com/radian628/tram
Data storage and transmission has so much innovation going on!