You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the programming environment does not support languages with I/O, which would be necessary for any real-world language.
Combining I/O with live programming is challenging because running code automatically may cause unintentional or even destructive side effects.
Additionally, I/O actions may block execution indefinitely, which prevents the programming environment from providing runtime information for the whole program (in time).
The first issue is one of safety. Automatic program execution could be made safe by isolating the program from the rest of the system running on the computer using containers (as in Docker). Containers are already widely used for this purpose, so the remaining work is building an interactive system for defining container images based on the program's requirements and integrating this in a development environment.
For prototyping, it would also be nice to be able to approve I/O actions interactively instead of having to modify a container image.
If the runtime environment of the program is brought under control of the programming environment, the performance issue is also solved more easily. Snapshots of intermediate container states could be used to skip the computations and I/O actions that lead up to that state in later executions.
The text was updated successfully, but these errors were encountered:
Currently, the programming environment does not support languages with I/O, which would be necessary for any real-world language.
Combining I/O with live programming is challenging because running code automatically may cause unintentional or even destructive side effects.
Additionally, I/O actions may block execution indefinitely, which prevents the programming environment from providing runtime information for the whole program (in time).
The first issue is one of safety. Automatic program execution could be made safe by isolating the program from the rest of the system running on the computer using containers (as in Docker). Containers are already widely used for this purpose, so the remaining work is building an interactive system for defining container images based on the program's requirements and integrating this in a development environment.
For prototyping, it would also be nice to be able to approve I/O actions interactively instead of having to modify a container image.
If the runtime environment of the program is brought under control of the programming environment, the performance issue is also solved more easily. Snapshots of intermediate container states could be used to skip the computations and I/O actions that lead up to that state in later executions.
The text was updated successfully, but these errors were encountered: