Github 传送门:https://github.com/bramblex/Smooth
线上试用:http://bramblex.github.io/Smooth/
# 异步的 delay 函数
delay = `(ms)=>(f)=>setTimeout(()=>f(ms),ms)`
# 将一个普通的函数封装成异步函数
mkasync = `(job)=>(f)=>{job();f()}`
# 将多个异步函数串联到一起
async f g = f g
# 以同步的方式写异步,每隔一秒依次输出 "hello" "world" "smooth"
asyncJob = with async do
delay 1000
mkasync \_-> print $ "hello"
delay 2000
mkasync \_-> print "world"
n <- delay 3000 # 还可以取得异步函数的数据
mkasync \_-> print $ "smooth " + n
main _ = asyncJob \_ -> print "done"
# 定义 `+` 符号
infixl 4 + add
add = `(x)=>(y)=>x+y`
# 定义 `<` 符号
infixl 6 < lt
lt = `(x)=>(y)=>x<y`
# 定义 `$` 符号,用来消除括号
infixr 0 $ app
app f x = f x
# 定义 `+` 符号
infixl 4 + add
add = `(x)=>(y)=>x+y`
# 定义 `<` 符号
infixl 6 < lt
lt = `(x)=>(y)=>x<y`
impFunc n =
let result = 0
let i = 0
while i < n
result = result + i
i = i + 1
decFunc n = if n < 0 then 0 else n + decFunc n
1
southwolf 2016-05-24 23:09:09 +08:00
生日快乐!
|
3
Slienc7 2016-05-24 23:18:54 +08:00
🎉生日快乐🎉
|
4
lichun 2016-05-24 23:24:47 +08:00
happy birthday
|
5
shyling 2016-05-24 23:28:35 +08:00 via iPad
`我不是 js`
|
8
ctsed 2016-05-24 23:46:59 +08:00 via iPhone
明年就可以一起过生日了
|
9
mactaew 2016-05-24 23:50:04 +08:00 via iPhone
黑皮波斯忒
|
10
zzNucker 2016-05-25 00:10:25 +08:00
迟到的生快~!
|
11
aprikyblue 2016-05-25 00:26:50 +08:00 via Android
快生
|
12
upczww 2016-05-25 00:29:36 +08:00 via Smartisan T1
膜拜大神,生日快乐,好像晚了
|
13
justjavac 2016-05-25 00:52:17 +08:00 via Android
生日快乐\^O^/
|
14
4679kun 2016-05-25 00:55:07 +08:00 via Android
迟到的生快(=゚ω゚)=
|
15
msg7086 2016-05-25 01:25:41 +08:00
这位姐姐生快~
|
16
hewigovens 2016-05-25 07:20:13 +08:00
github 上的 readme 发现一处错别字,“其本质就是一个简单的 CPS 变幻” 应为 “变换”?
|
17
xiamx 2016-05-25 07:26:24 +08:00
生日快乐!
|
18
linux40 2016-05-25 07:52:22 +08:00 via Android
完成之后马上弃坑么。。。
|
19
bramblex OP @hewigovens 对… cps 变换,输入法的锅
|
21
bramblex OP |
22
bramblex OP |
23
xcodebuild 2016-05-25 08:37:41 +08:00 via Android
生日快乐🎉🎉
|
24
chunqiuyiyu 2016-05-25 09:10:03 +08:00
虽然看不懂,但是并不妨碍我说一句“生日快乐”
|
25
iphantom 2016-05-25 09:12:35 +08:00
生快
|
26
yuankui 2016-05-25 09:16:55 +08:00
需要哪些准备才能造一门语言?
|
27
silvernoo 2016-05-25 09:19:40 +08:00
生快
|
28
w466397352 2016-05-25 09:34:38 +08:00
生日快乐\^O^/
虽然我也看不懂 |
29
scarlex 2016-05-25 09:38:49 +08:00
生日快乐 ~
|
30
baocaixiong 2016-05-25 09:51:39 +08:00
生日快乐
|
32
bramblex OP |
33
bramblex OP |
34
guizer 2016-05-25 11:21:14 +08:00
生快 代码什么的看不懂...
|
35
bramblex OP |
36
donghouhe 2016-05-25 11:24:48 +08:00
服服服服服
|
37
sinalvee 2016-05-25 11:26:07 +08:00
虽然我也看不懂,但是生快!
|
39
gimp 2016-05-25 12:19:51 +08:00
JJ 生日快乐~
|
41
sdenvi 2016-05-25 13:40:24 +08:00 via iPhone
生日快乐
|
42
timhal 2016-05-25 13:48:52 +08:00
啊 我明天呢╮( ̄⊿ ̄")╭被你抢先一步
|
43
Lothar 2016-05-25 13:52:27 +08:00
没写过 haskell 的表示看起来真要命 😂 (生快
|
44
superxzr 2016-05-25 13:55:48 +08:00
大触生快
|
45
gamexg 2016-05-25 14:15:14 +08:00
生日快乐
|
46
timeship 2016-05-25 14:20:25 +08:00
生日快乐么么哒,感觉认识好久了
|
50
wsph123 2016-05-25 14:39:08 +08:00
生日快乐!
|
52
narrowei 2016-05-25 14:40:13 +08:00
╮(╯▽╰)╭生日快乐🎂
|
53
SCaffrey 2016-05-25 16:29:26 +08:00 1
生日快乐\^O^/
|
54
Exin 2016-05-25 16:34:41 +08:00 1
又是个做编译器的大神
|
55
timeback 2016-05-25 16:49:01 +08:00 1
好吧,不认识,一样恭祝:生日快乐!!!🎂🎂🎂
|
57
jamesarch 2016-05-25 16:58:12 +08:00
生日快乐
|
58
zqhong 2016-05-25 17:55:47 +08:00
生日快乐🎉🎉🎉! Star 一个先! ヽ(́◕◞౪◟◕‵)ノ
|
61
hhkbp2 2016-05-25 22:56:45 +08:00
路过并支持
自制语言其中的苦乐是一种很特别的经历 |
63
abcdabcd987 2016-05-25 23:37:54 +08:00
哇塞, CPS 变换,比我前不久写的渣渣编译器厉害多了( http://v2ex.com/t/279656#reply2)
|
64
guyskk 2016-05-26 00:45:57 +08:00
生日快乐!
mkasync 要是改成 await ,当作关键字,就跟 python3.5, es6, c# 的异步差不多了 |
66
bramblex OP |
67
bramblex OP |
68
bramblex OP |
69
cholerae 2016-05-26 09:03:23 +08:00
为什么用 purescript 写,这语言有什么优越之处?
|
71
Aidea 2016-05-26 10:51:55 +08:00
好屌,虽然看不懂,但还是生日快乐~
|
72
dant 2016-05-26 12:06:36 +08:00 via Android
JJ 的思念生日快乐(
|