You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: notes/techreport.tex
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ \subsection{Go: Translations of hight-order functions to asynchronous form.}
84
84
\item$h(g)$ translated to $await(h'(g'))$ if $g$ is invocation-only in $h$.
85
85
\end{itemize}
86
86
87
-
Scala-gopher contains asynchronious variants of predefined functions from Scala collection API, so it is possible to use asynchronious expressions inside a loop. For example, next code:
87
+
Scala-gopher contains asynchronous variants of predefined functions from Scala collection API, so it is possible to use asynchronous expressions inside a loop. For example, next code:
88
88
89
89
\begin{Verbatim}[fontsize=\small]
90
90
go {
@@ -106,7 +106,7 @@ \subsection{Go: Translations of hight-order functions to asynchronous form.}
106
106
(1 to n).mapAsync(i => out.aread)
107
107
\end{Verbatim}
108
108
109
-
Using this approach allows overcoming the inconvenience of async/await by allowing programmers to use hight-order functions API inside asynchronous expression. Also, it is theoretically possible to generate asynchronous variants of API methods by transforming TASTY\cite{TASTY} representation of AST of synchronous versions. A similar technique is implemented in Nim \cite{Nim} programming language, where we can generate both synchronious and asynchronious variants of a function from one definition.
109
+
Using this approach allows overcoming the inconvenience of async/await by allowing programmers to use hight-order functions API inside asynchronous expression. Also, it is theoretically possible to generate asynchronous variants of API methods by transforming TASTY\cite{TASTY} representation of AST of synchronous versions. A similar technique is implemented in Nim \cite{Nim} programming language, where we can generate both synchronous and asynchronous variants of a function from one definition.
110
110
111
111
\item do transformation of defer statement. This is just an implementation of error handling mechanism.
112
112
@@ -137,7 +137,7 @@ \subsection{Channels: callbacks organized as waits}
137
137
consume value (or \verb|end-of-input| or few other special cases) and return future to the next
138
138
computation state.
139
139
140
-
Traditional synchronious API (i.e. method $read:\To A$) can be used inside \verb|go| and \verb|async| statements; from 'normal' code we can use asynchronious variant: $aread: \To Future[A]$.
140
+
Traditional synchronous API (i.e. method $read:\To A$) can be used inside \verb|go| and \verb|async| statements; from 'normal' code we can use asynchronous variant: $aread: \To Future[A]$.
0 commit comments