STR-103: Replace stdin, stdout, and stderr by overlays for Stream
Maybe the stdin, stdout and stderr constructs can even be replaced by overlays for a Stream. This will probably not break existing code, except for native code in the SSL that cannot Stream constructs.
overlays
stdin = Stream(<prim(“SSL_stdin_stream”)> ())
stdout = Stream(<prim(“SSL_stdout_stream”)> ())
stderr = Stream(<prim(“SSL_stderr_stream”)> ())Todo: check if matching still works for this. Probably the separate build-match construct should be used in the overlay definitions.
Submitted on 31 May 2004 at 14:56
Issue Log
STR-103, martin:
Likely to break stuff.
STR-103, martin:
The overlay “Stream(<prim(“SSL_stdin_stream”)> ())” is no longer supported, so that’s not going to work. More and more strategies in the SSL have been changed to Stream, so it becomes less likely that this will breaking something.An overlay-based solution is possible if we introduce new symbolic representations for these streams: INTERNAL_STREAM_STDIN, INTERNAL_STREAM_STDOUT, INTERNAL_STREAM_STDERR or something.
The representation will then be:
Stream(INTERNAL_STREAM_STDIN())One of the problems with this approach is that stdin will become a Stream, which will break XTC stuff, where stdin is used as the current term. If XTC would support Stream, then this problem is solved as well.
Log in to post comments