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

On 22 July 2004 at 18:42 Jira commented:

STR-103, martin:
Likely to break stuff.


On 23 December 2005 at 23:58 Jira commented:

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.


On 9 January 2013 at 16:56 Eelco Visser removed tag 0.19M1

On 9 January 2013 at 16:56 Eelco Visser tagged interesting

Log in to post comments