Skip to content

Commit 000d10e

Browse files
committed
added TASTY reference, better generation of first sequence
1 parent d09a719 commit 000d10e

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

notes/techreport.bib

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ @ONLINE{SIP22
1313
year = {2013}
1414
}
1515

16+
@ONLINE{TASTY,
17+
author = {Martin Odersky, Dmitry Petrashko, Eugene Burmako},
18+
title = {TASTY Reference Manual},
19+
url = {https://docs.google.com/document/d/1h3KUMxsSSjyze05VecJGQ5H2yh7fNADtIf3chD3_wr0/},
20+
year = {2016}
21+
}
1622

1723
@ONLINE{scala-gopher,
1824
author = {Ruslan Shevchenko},

notes/techreport.pdf

2.14 KB
Binary file not shown.

notes/techreport.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ \section{Introduction}
4141
val in = makeChannel[Int]()
4242
val out = makeChannel[Int]()
4343
go {
44-
for(i <- 1 to n*n) out.write(i)
44+
for(i <- 1 to Int.MaxValue) out.write(i)
4545
}
4646
go {
4747
select.fold(in){ (ch,s) =>
@@ -106,7 +106,7 @@ \subsection{Go: Translations of hight-order functions to asynchronous form.}
106106
(1 to n).mapAsync(i => out.aread)
107107
\end{Verbatim}
108108

109-
Using this approach allows overcoming the inconvenience of async/await by allowing programmers use hight-order functions API inside asynchronous expression. Also, it is theoretically possible to generate asynchronous variants of API methods by transforming TASTY representation of AST of synchronous versions. Thr similar technique is implemented in Nim \cite{Nim} programming language, where we can to 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 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. Thr similar technique is implemented in Nim \cite{Nim} programming language, where we can to generate both synchronious and asynchronious variants of a function from one definition.
110110

111111
\item do transformation of defer statement. This is just an implementation of error handling mechanism.
112112

0 commit comments

Comments
 (0)