暂且收集了一些链接博文(好水.gif),之后会码成文档。。。

夜宵感悟:才华有,文笔不错,码的码(就留给你们去评了),真心推荐大家看看这些文章,赞不赞同另说!

纵观全局

1、【40行代码】;2、【清华梦的粉碎】;3、【我与Google的故事】;4、Braid—一个发人深思的游戏

5、【对博士学位说永别】;6、【如何掌握程序语言】;7、【完全用Linux工作】;9、【Cornell的感受】

8、【写给支持和反对《完全用Linux工作》的人们】;10、【从工具的奴隶到工具的主人】;11、【我看PhD】

12、【学术腐败是历史的必然】;13、【王垠的过去与现状】;14、一个王垠同学对王垠从清华退学的感受 —— 至于为什么放在最后,END见。

王垠.jpg

1、王垠【40行代码】 上半生最重要的杰作,闷头一个星期写出来。

附代码与他人评论(没几个洞的):https://www.zhihu.com/question/20822815/

2、【清华梦的粉碎】——写给清华大学的退学申请

http://blog.csdn.net/vc2014/article/details/41945379

3、【我与Google的故事】

http://blog.csdn.net/vc2014/article/details/41945435

4、Braid—一个发人深思的游戏

博文:http://blog.csdn.net/unsv29/article/details/50473854

Braid(时空幻境):http://braid-game.com/

5、【对博士学位说永别】

http://blog.csdn.net/vc2014/article/details/41945483

开源中国社区,文章后面跟评了很多有趣的话:https://www.oschina.net/news/32707/say-goodbye-to-doctor

6、【如何掌握程序语言】

http://blog.csdn.net/vc2014/article/details/41945685

7、【完全用Linux工作】

背景shai是亮黑(慎入),黑脸问为什么要贴出了,因为它排版好啊:

http://blog.sina.com.cn/s/blog_b83bda47010197if.html

背景正常,排版lowB(不针对贴字作者):

http://blog.csdn.net/wooin/article/details/651085

8、【写给支持和反对《完全用Linux工作》的人们】

里面王垠个人url已失效:http://yinwang0.lofter.com/post/183ec2_479bfc

9、【Cornell的感受】

http://bbs.sciencenet.cn/forum.php?mod=viewthread&tid=6505

10、【从工具的奴隶到工具的主人】

送给学Code的人:http://www.csdn.net/article/2012-09-12/2809847

11、【我看PhD】

http://www.xuebuyuan.com/2156262.html

12、【学术腐败是历史的必然】

http://www.360doc.com/content/16/0416/13/11409172_551092622.shtml

13、【王垠的过去与现状】

里面很多url都失效:https://www.cnblogs.com/zjoch/p/5148305.html

14、一个王垠同学对王垠从清华退学的感受 —— 至于为什么放在最后,END 见。

在【14】的url中文章最后已有(排版等好点):https://club.kdnet.net/dispbbs.asp?boardid=1&id=11045056

亚里士多德在《形而上学》中的第一句话是:“每一个人在本性上都想求知。”

分割Line----……!*7?……“”“”…******¥%¥#@¥%&&*……*()*……----……!*7?……“”“”…******¥%¥#@

  1 ;; A simple CPS transformer which does proper tail-call and does not
  2 ;; duplicate contexts for if-expressions.
  3
  4 ;; author: Yin Wang (yw21@cs.indiana.edu)
  5
  6 (load "pmatch.scm")
  7
  8 (define cps
  9   (lambda (exp)
 10     (letrec
 11         ([trivial? (lambda (x) (memq x '(zero? add1 sub1)))]
 12          [id (lambda (v) v)]
 13          [ctx0 (lambda (v) `(k ,v))]      ; tail context
 14          [fv (let ([n -1])
 15                (lambda ()
 16                  (set! n (+ 1 n))
 17                  (string->symbol (string-append "v" (number->string n)))))]
 18          [cps1
 19           (lambda (exp ctx)
 20             (pmatch exp
 21               [,x (guard (not (pair? x))) (ctx x)]
 22               [(if ,test ,conseq ,alt)
 23                (cps1 test
 24                      (lambda (t)
 25                        (cond
 26                         [(memq ctx (list ctx0 id))
 27                          `(if ,t ,(cps1 conseq ctx) ,(cps1 alt ctx))]
 28                         [else
 29                          (let ([u (fv)])
 30                            `(let ([k (lambda (,u) ,(ctx u))])
 31                               (if ,t ,(cps1 conseq ctx0) ,(cps1 alt ctx0))))])))]
 32               [(lambda (,x) ,body)
 33                (ctx `(lambda (,x k) ,(cps1 body ctx0)))]
 34               [(,op ,a ,b)
 35                (cps1 a (lambda (v1)
 36                          (cps1 b (lambda (v2)
 37                                    (ctx `(,op ,v1 ,v2))))))]
 38               [(,rator ,rand)
 39                (cps1 rator
 40                      (lambda (r)
 41                        (cps1 rand
 42                              (lambda (d)
 43                                (cond
 44                                 [(trivial? r) (ctx `(,r ,d))]
 45                                 [(eq? ctx ctx0) `(,r ,d k)]  ; tail call
 46                                 [else
 47                                  (let ([u (fv)])
 48                                    `(,r ,d (lambda (,u) ,(ctx u))))])))))]))])
 49       (cps1 exp id))))
 50
 51 ;;; tests
 52
 53 ;; var
 54 (cps 'x)
 55 (cps '(lambda (x) x))
 56 (cps '(lambda (x) (x 1)))
 57
 58 ;; no lambda (will generate identity functions to return to the toplevel)
 59 (cps '(if (f x) a b))
 60 (cps '(if x (f a) b))
 61
 62 ;; if stand-alone (tail)
 63 (cps '(lambda (x) (if (f x) a b)))
 64
 65 ;; if inside if-test (non-tail)
 66 (cps '(lambda (x) (if (if x (f a) b) c d)))
 67
 68 ;; both branches are trivial, should do some more optimizations
 69 (cps '(lambda (x) (if (if x (zero? a) b) c d)))
 70
 71 ;; if inside if-branch (tail)
 72 (cps '(lambda (x) (if t (if x (f a) b) c)))
 73
 74 ;; if inside if-branch, but again inside another if-test (non-tail)
 75 (cps '(lambda (x) (if (if t (if x (f a) b) c) e w)))
 76
 77 ;; if as operand (non-tail)
 78 (cps '(lambda (x) (h (if x (f a) b))))
 79
 80 ;; if as operator (non-tail)
 81 (cps '(lambda (x) ((if x (f g) h) c)))
 82
 83 ;; why we need more than two names
 84 (cps '(((f a) (g b)) ((f c) (g d))))
 85
 86 ;; factorial
 87 (define fact-cps
 88   (cps
 89    '(lambda (n)
 90       ((lambda (fact)
 91          ((fact fact) n))
 92        (lambda (fact)
 93          (lambda (n)
 94            (if (zero? n)
 95                1
 96                (* n ((fact fact) (sub1 n))))))))))
 97
 98 ;; print out CPSed function
 99 (pretty-print fact-cps)
100 ;; =>
101 ;; '(lambda (n k)
102 ;;    ((lambda (fact k) (fact fact (lambda (v0) (v0 n k))))
103 ;;     (lambda (fact k)
104 ;;       (k
105 ;;        (lambda (n k)
106 ;;          (if (zero? n)
107 ;;            (k 1)
108 ;;            (fact
109 ;;             fact
110 ;;             (lambda (v1) (v1 (sub1 n) (lambda (v2) (k (* n v2))))))))))
111 ;;     k))
112
113 ((eval fact-cps) 5 (lambda (v) v))
114 ;; => 120

转载于:https://www.cnblogs.com/fyf-shou/p/daytime_stillness.html

王垠系列博文(题名外挂URL)相关推荐

  1. [王垠系列]Braid - 一个发人深思的游戏

    Braid - 一个发人深思的游戏 我已经很久很久没有打游戏了(如果不算 Angry Birds 之类用来打发时间的游戏的话).我的最后一个真正意义上的游戏机,是 PlayStation 1.在那上面 ...

  2. [王垠系列]Oberon 操作系统:被忽略的珍宝

    Oberon 操作系统:被忽略的珍宝 推荐一篇很久以前看的文章:Oberon - The Overlooked Jewel 它介绍的是 Niklaus Wirth 设计的一种操作系统,叫做 Obero ...

  3. 王垠——想得太多,做得太少

    我大四的时候,读到王垠从清华退学的文章,当时我虽然还没有正式开始攻读博士学位,但是也在实验室待了一年多了,老油条一根,对清华的博士生的学习生活了解得差不多了.当时读王垠的文章,我开始很不解:就剩一年, ...

  4. 点评一下王垠的新博文: Oberon 操作系统:一个被忽略的珍宝

    远古邪恶巨坑的日记 远古邪恶巨坑的主页 广播 相册 喜欢 活动 发豆邮 点评一下王垠的新博文: Oberon 操作系统:一个被忽略的珍宝 2013-03-08 16:31:26 原文链接: http: ...

  5. 完全用Linux工作-王垠

    <完全用Linux工作>作者:王垠 完全用 GNU/Linux 工作 理解 GNU/Linux 注:本文是清华"牛仔"王垠的"成名作",在网上引起很 ...

  6. 《完全用Linux工作》作者:王垠

    完全用 GNU/Linux 工作 理解 GNU/Linux 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 注:本文是清华"牛仔"王垠的" ...

  7. 完全用Linux工作,作者王垠

    <完全用Linux工作>作者:王垠 完全用 GNU/Linux 工作 理解 GNU/Linux 注:本文是清华"牛仔"王垠的"成名作",在网上引起很 ...

  8. 完全用Linux工作,抛弃window/王垠

    完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个人都想用的.如果你只需要处理一般的事务, ...

  9. 王垠:我和权威的故事

    转自王垠博客,我是垠粉. 每个人小时候心里都是没有权威的,就像每个人小时候也都不相信广告一样.可是权威就像广告,它埋伏在你的潜意识里.听一遍不信,听两遍不信,--,直到一千遍的时候,它忽然开始起作用了 ...

  10. 对博士学位说永别(转自王垠blog)

    对博士学位说永别 by 王垠 经过深思熟虑之后,我决定再次"抛弃"我的博士学位.这是我第三次决定离开博士学位,也应该是最后一次了.这应该不是什么惊人的消息,因为我虽然读博士10年了 ...

最新文章

  1. 宏使用 Tricks
  2. 如何优雅的实现 Spring Boot 接口参数加密解密?
  3. R语言构建LogisticRegression模型并计算AUC指标
  4. 浅入深出Vue:发布项目
  5. 读取24位ad的值_实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值
  6. ios10 safari浏览器 在touchmove 里面写e.preventDefault(); 不起作用 的解决方法
  7. [转载] 柯受良-柯受良飞跃黄河
  8. C++_二维数组的动态申请内存3种方法
  9. HEX2BIN不能在win7_64位下执行的Keil官方解决方案
  10. 配置管理工具Puppet入门介绍:1 :安装与设定
  11. 修改mysql密码后wordpress_修改数据库密码后,wordpress网站打不开
  12. lwj_C#_作业 ListT应用
  13. remapkey不能打开注册表_解除封锁注册表被禁用的几种解决办法
  14. 动态图片怎么制作 html,怎么制作动态图片
  15. 西门子plm_盘点西门子、罗克韦尔、PTC、达索等工业巨头们的软硬件布局
  16. 电脑上个别按键失灵可能原因
  17. 游戏开发unity编辑器扩展知识系列:进度条显示EditorUtility.ProgressBar
  18. 怎么看自己电脑的是几位的操作系统的
  19. Imagemotion for Mac(PS动画插件)
  20. 小熊个人资料_小熊了个人资料照片 WT-没有小熊了原名叫什么

热门文章

  1. 做游戏代理要找游戏源码平台
  2. 《信号与系统》解读 前言:经典教材的选择
  3. 信用卡交易数据异常检测
  4. 读书笔记:Sheldon.M.Ross:概率论基础教程:2014.01.22
  5. AWVS13安装教程
  6. CSS系列之字体相关的样式
  7. linux安装 treenms
  8. php构建的开源的淘宝客cms程序下载地址总结,采集插件小程序等
  9. Aqua Data Studio分号无法识别无法批量执行和字号等配置
  10. .md文件用什么软件打开