
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 生日快乐\^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 生日快乐\^O^/ |
54 Exin 2016-05-25 16:34:41 +08:00 又是个做编译器的大神 |
55 timeback 2016-05-25 16:49:01 +08:00 好吧,不认识,一样恭祝:生日快乐!!! |
57 jamesarch 2016-05-25 16:58:12 +08:00 生日快乐 |
58 cha1 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 6ufq0VLZn0DDkL80 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 的思念生日快乐( |