limu's recent timeline updates
limu

limu

V2EX member #16537, joined on 2012-02-09 13:28:53 +08:00
limu's recent replies
Apr 2, 2025
Replied to a topic by qicaisedeyun 问与答 一加手机问题,有会设置的吗?
设置 > 辅助功能 > 无障碍 > 通用 > 便捷功能 > 按电源键结束通话
还给失主吧。
Dec 31, 2014
Replied to a topic by y051313 分享发现 分享一个美亚直邮的免运费码
BW4E-5Q2XE5-Z69JCU
海外购的免邮码: http://www.amazon.cn/b/ref=amb_link_99196812_2
也是今天到期
Mar 3, 2013
Replied to a topic by limu Haskell 在 Github 上弄了一个 blog, 写写 Haskell
@monkeydev

上次 Github 被墙,换到 Heroku上了: http://blog.veryr.com . 自己用 Haskell 写的博客程序。
Mar 3, 2013
Replied to a topic by jiyinyiyong 程序员 有没有同学来讲解下王垠的代码的...
他自己以前说过:自动的CPS变换. 用伪C代码解释一个:
比如, 变换前的:
int sum(int* arr, int len){
if(len <= 0) return 0; else return arr[0] + sum(arr+1, len-1);
}
调用: print(sum([1,2,3,4], 4)) //输出 10;

变换后的:
void sum_cps(int sum, int* arr, int len, void (callback*)(int)){
if(len <= 0) callback(sum);
else sum_cps(sum + arr[0], arr+1, len-1, callback);
}
调用:(sum_cps, 0, [1,2,3,4], 4, print);
这样变换以后, 自动变成尾递归. sum 每次递归调用需要把arr[0] 压栈, len大时会堆栈溢出, 而sum_cps,需要的栈为0, 不会堆栈溢出.
递归调用是FP的根本, 所以自动实现这种变换意义很大.
倒莓孩子
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3310 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 13:12 · PVG 21:12 · LAX 06:12 · JFK 09:12
♥ Do have faith in what you're doing.