author | Alan Dipert
<alan@dipert.org> 2020-02-13 04:13:08 UTC |
committer | Alan Dipert
<alan@dipert.org> 2020-02-13 04:13:08 UTC |
parent | c071e1068a67166c31024474cef7edc5df7ba0cb |
paper/jacl-els-2020.tex | +8 | -6 |
diff --git a/paper/jacl-els-2020.tex b/paper/jacl-els-2020.tex index 7ffa38c..795283d 100644 --- a/paper/jacl-els-2020.tex +++ b/paper/jacl-els-2020.tex @@ -209,13 +209,15 @@ performed by JavaScript's \texttt{eval} function. Between these, a Read Eval Print Loop (REPL) is possible, and the JSCL distribution includes a reference implementation of one. -However, JSCL only supports reading from string-backed input streams. -Input streams are not an abstraction supported by JavaScript in Web -browsers. With a few obscure exceptions [foot], JavaScript programs -may only receive input asynchronously. +\subsubsection{Synchronous reader} -Effectively, the JSCL reader consumes strings, not streams in the -traditional sense. An error is signaled if the end of the string is +JSCL supports reading from string-backed pseudo-streams. Input streams +from which characters may be synchronously consumed are not an +abstraction supported by JavaScript in Web browsers. With a few +obscure exceptions [foot], JavaScript programs may only receive input +asynchronously. + +An error is signaled if the end of a string-backed input stream is encountered before the reader has finished reading a datum. Because input strings may not contain partial data, the REPL