1
hooluupog 2015-04-18 14:31:52 +08:00 1
支持async/await的语言(c#,dart,es7)或者goroutine+chanel都可以。
|
2
sumhat 2015-04-18 14:34:50 +08:00 via iPhone 1
JS 中的 Promise 也可以
|
3
Monad 2015-04-18 14:36:57 +08:00 1
Coroutine就是拿来干这个的嘛…
C/C++用makecontext/swapcontext, lua原生支持coroutine |
6
mucid 2015-04-18 15:10:14 +08:00 1
python3
yield from |
7
coolicer 2015-04-18 15:13:50 +08:00 1
node的async库 ,隐
|
8
bombless 2015-04-18 17:59:40 +08:00 1
CPS嘛……
其实加一个能处理 AST 的预处理期就好了,这个任何通用语言都能做。 又或者让代码通过源代码解释执行,或者热加载代码。这些都不需要语言来支持,语言只需要能回调、支持 FFI,剩下的有平台支持就够了。 在带有语法插件/Lisp宏的语言中会更方便。 |
9
phoenixlzx 2015-04-18 18:13:00 +08:00 1
promise/async 都比 yield 好用...
yield 那货比 callback 还反人类... |
10
h4x3rotab 2015-04-18 20:43:27 +08:00
C# async
|
11
billzhuang 2015-04-18 22:00:41 +08:00
所有语言的promise
|
12
newtonisaac 2015-04-18 23:06:28 +08:00
@billzhuang yes
|
13
JamesRuan 2015-04-18 23:09:47 +08:00
do syntax sugar for Haskell Monad
|
14
binux 2015-04-18 23:11:30 +08:00 via Android 1
yield 可以在同一个作用域中干活,省去了参数传递
|
15
clino 2015-04-18 23:43:07 +08:00
gevent AsyncResult
|
16
ffffwh 2015-04-18 23:58:38 +08:00
call/cc
|
17
plantain 2015-04-19 07:20:13 +08:00
C++17 await
|
18
bolasblack 2015-04-19 10:53:22 +08:00
试试这个? https://github.com/tj/co
|
19
futursolo 2015-04-19 14:37:20 +08:00
Node.js: Promise
Python(Tornado based Application): Future(Use with yield) Go: goroutine |
20
quix 2015-04-19 17:20:20 +08:00
还有一种思路,用future对象, 可以看下ruby的celluloid
|
21
hitsmaxft 2015-04-19 19:14:59 +08:00 via iPhone
java都行啦,killim在字节码层做下cps变换就行了。
|