Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I/O support #32

Open
cdfa opened this issue Feb 8, 2022 · 0 comments
Open

I/O support #32

cdfa opened this issue Feb 8, 2022 · 0 comments
Labels
enhancement New feature or request real-world usage blocker Significant hurdle to real-world usage

Comments

@cdfa
Copy link
Owner

cdfa commented Feb 8, 2022

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.

@cdfa cdfa added enhancement New feature or request real-world usage blocker Significant hurdle to real-world usage labels Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request real-world usage blocker Significant hurdle to real-world usage
Projects
None yet
Development

No branches or pull requests

1 participant