Earlier quoted context omitted.
IO is managed through very specific native extensions where updates to that IO source are able to be tracked outside of the language and fed back in. For example, we don't have anything that lets you read from command line or stdin. But you can open and watch a file. Any changes to that file will be tracked by the runtime. Other non deterministic computation, like randomness or time is outright banned in the tracked…
> For example, we don't have anything that lets you read from command line or stdin. But you can open and watch a file. whats the difference between opening a file and watching it and watching stdin?
FIFO file descriptors, not so much.
If you can't seek backwards, you pretty much have to cache the whole contents in memory, which seems wildly inefficient.