[e-lang] Joe-E ByteArray stream interface and character encoding/decoding
David Wagner
daw at cs.berkeley.edu
Thu Oct 18 14:39:21 EDT 2007
Jon Leonard writes:
>I don't see a lot of point in trying to get rid of IO-related
>nondeterminism (since it seems intrinsic: When will the user act?), but
>I may be misunderstanding taming.
The goal is to make sure that nondeterminism is not ambiently
available, i.e., you should only be able to get access to nondeterminism
if you are given some kind of capability. IO is also not ambiently
available; you have to be given a capability before you can do IO.
The goal above helps demonstrate that some code is deterministic.
For instance, if the only object references in scope are Powerless,
then we can conclude that the code does not have access to anything
that would provide nondeterminism and hence the code is deterministic.
That seems potentially useful.
The code that Tyler posted makes access to an InputStreamReader
ambiently available, hence we need to be careful to ensure that it
does not provide access to nondeterminism.
More information about the e-lang
mailing list