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

new O #131

Open
emmaccode opened this issue Nov 10, 2023 · 0 comments
Open

new O #131

emmaccode opened this issue Nov 10, 2023 · 0 comments
Labels
bug Something isn't working enhancement New feature or request invalid This doesn't seem right performance

Comments

@emmaccode
Copy link
Member

standard output

One aspect of this project which is surprisingly difficult is standard output. Julia provides a handy redirect_stdio method for this, but there are a number of shortcomings. This is what is currently used to get the standard output from a Cell in Olive.

  • The only way to write this output into memory is to use a Pipe.
  • redirecting the output in this way duplicates stream descriptors -- throwing an error if more than one is opened at a time.

proposed solution

The solution to this, hopefully, will rely on the mutation of the new olive_module bare modules. These modules will remove println(a::Any) = println(stdout, a::Any ...) and replace it with println(a::Any ...) = println(ourbuffer, a ...)

Basically, we are going to change the Methods inside of Base to facilitate this rather than redirecting our output.

@emmaccode emmaccode added bug Something isn't working enhancement New feature or request invalid This doesn't seem right performance labels Nov 10, 2023
This was referenced Nov 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request invalid This doesn't seem right performance
Projects
None yet
Development

No branches or pull requests

1 participant