Redian新闻
>
母亲节是哪天?每年都是固定的吗?
avatar
母亲节是哪天?每年都是固定的吗?# Living
s*r
1
【 以下文字转载自 Military 讨论区 】
发信人: wsnonline (卫所南次郎-哥们儿要火啦!), 信区: Military
标 题: 王垠的[40 行代码]: 普通琐男码工们都跪安吧!
发信站: BBS 未名空间站 (Thu May 19 01:59:08 2016, 美东)
https://www.zhihu.com/question/20822815
"我有什么资格说话呢?如果你要了解我的本事,真的很简单:我最精要的代码都放在
GitHub 上了。但是除非接受过专门的训练,你绝对不会理解它们的价值。你会很难想
象,这样一片普通人看起来像是玩具的 40 行 cps.ss 代码,融入了我一个星期的日日
夜夜的心血,数以几十计的推翻重写。这段代码,曾经耗费了一些顶尖专家十多年的研
究。一个教授告诉我,光是想看懂他们的论文就需要不止一个月。而它却被我在一个星
期之内闷头写出来了。我是在说大话吗?代码就摆在那里,自己去看看不就知道了。当
我死后,如果有人想要知道什么是我上半生最重要的“杰作”,也就是这 40 行代码了
。它蕴含的美,超越我给任何公司写的成千上万行的代码。"
有没有人来说说这个东西,我想知道他有没有说大话。
附代码:
;; A simple CPS transformer which does proper tail-call and does not
;; duplicate contexts for if-expressions.
;; author: Yin Wang ([email protected]/* */)
(load "pmatch.scm")
(define cps
(lambda (exp)
(letrec
([trivial? (lambda (x) (memq x '(zero? add1 sub1)))]
[id (lambda (v) v)]
[ctx0 (lambda (v) `(k ,v))] ; tail context
[fv (let ([n -1])
(lambda ()
(set! n (+ 1 n))
(string->symbol (string-append "v" (number->string n)))))]
[cps1
(lambda (exp ctx)
(pmatch exp
[,x (guard (not (pair? x))) (ctx x)]
[(if ,test ,conseq ,alt)
(cps1 test
(lambda (t)
(cond
[(memq ctx (list ctx0 id))
`(if ,t ,(cps1 conseq ctx) ,(cps1 alt ctx))]
[else
(let ([u (fv)])
`(let ([k (lambda (,u) ,(ctx u))])
(if ,t ,(cps1 conseq ctx0) ,(cps1 alt ctx0))))
])))]
[(lambda (,x) ,body)
(ctx `(lambda (,x k) ,(cps1 body ctx0)))]
[(,op ,a ,b)
(cps1 a (lambda (v1)
(cps1 b (lambda (v2)
(ctx `(,op ,v1 ,v2))))))]
[(,rator ,rand)
(cps1 rator
(lambda (r)
(cps1 rand
(lambda (d)
(cond
[(trivial? r) (ctx `(,r ,d))]
[(eq? ctx ctx0) `(,r ,d k)] ; tail call
[else
(let ([u (fv)])
`(,r ,d (lambda (,u) ,(ctx u))))])))))]))
])
(cps1 exp id))))
;;; tests
;; var
(cps 'x)
(cps '(lambda (x) x))
(cps '(lambda (x) (x 1)))
;; no lambda (will generate identity functions to return to the toplevel)
(cps '(if (f x) a b))
(cps '(if x (f a) b))
;; if stand-alone (tail)
(cps '(lambda (x) (if (f x) a b)))
;; if inside if-test (non-tail)
(cps '(lambda (x) (if (if x (f a) b) c d)))
;; both branches are trivial, should do some more optimizations
(cps '(lambda (x) (if (if x (zero? a) b) c d)))
;; if inside if-branch (tail)
(cps '(lambda (x) (if t (if x (f a) b) c)))
;; if inside if-branch, but again inside another if-test (non-tail)
(cps '(lambda (x) (if (if t (if x (f a) b) c) e w)))
;; if as operand (non-tail)
(cps '(lambda (x) (h (if x (f a) b))))
;; if as operator (non-tail)
(cps '(lambda (x) ((if x (f g) h) c)))
;; why we need more than two names
(cps '(((f a) (g b)) ((f c) (g d))))
;; factorial
(define fact-cps
(cps
'(lambda (n)
((lambda (fact)
((fact fact) n))
(lambda (fact)
(lambda (n)
(if (zero? n)
1
(* n ((fact fact) (sub1 n))))))))))
;; print out CPSed function
(pretty-print fact-cps)
;; =>
;; '(lambda (n k)
;; ((lambda (fact k) (fact fact (lambda (v0) (v0 n k))))
;; (lambda (fact k)
;; (k
;; (lambda (n k)
;; (if (zero? n)
;; (k 1)
;; (fact
;; fact
;; (lambda (v1) (v1 (sub1 n) (lambda (v2) (k (* n v2))))))))))
;; k))
((eval fact-cps) 5 (lambda (v) v))
;; => 120
avatar
f*n
2
你们这下爽了吧,村长都不来灌水了,平常老说什么娱乐,赵本山什么的,看了我存的
这些帖子是不是要肃然要起敬些?
最早追溯到07年,6个包子,字字珠玑,绝对超值。最后包子我会和村长对半分。
avatar
j*i
3
avatar
n*6
4
这代码不简单,很牛



【在 s*****r 的大作中提到】
: 【 以下文字转载自 Military 讨论区 】
: 发信人: wsnonline (卫所南次郎-哥们儿要火啦!), 信区: Military
: 标 题: 王垠的[40 行代码]: 普通琐男码工们都跪安吧!
: 发信站: BBS 未名空间站 (Thu May 19 01:59:08 2016, 美东)
: https://www.zhihu.com/question/20822815
: "我有什么资格说话呢?如果你要了解我的本事,真的很简单:我最精要的代码都放在
: GitHub 上了。但是除非接受过专门的训练,你绝对不会理解它们的价值。你会很难想
: 象,这样一片普通人看起来像是玩具的 40 行 cps.ss 代码,融入了我一个星期的日日
: 夜夜的心血,数以几十计的推翻重写。这段代码,曾经耗费了一些顶尖专家十多年的研
: 究。一个教授告诉我,光是想看懂他们的论文就需要不止一个月。而它却被我在一个星

avatar
j*h
5
我用板斧生活照换, 可以么?
avatar
F*y
6
5月第二个Sunday,每年都不一样
avatar
s*r
7
感觉秒杀一大半GF码农没问题
人家狂确实有资本,追求最美的代码

【在 n******6 的大作中提到】
: 这代码不简单,很牛
:
: 在

avatar
b*e
8
村长会在关键的时候回来,鳎七彩佛云

【在 f********n 的大作中提到】
: 你们这下爽了吧,村长都不来灌水了,平常老说什么娱乐,赵本山什么的,看了我存的
: 这些帖子是不是要肃然要起敬些?
: 最早追溯到07年,6个包子,字字珠玑,绝对超值。最后包子我会和村长对半分。

avatar
g*j
9
好的程序员不等于可以做好的产品,也不等于好的员工。就像某块木材很好,但是有的
木材成了梁,有的成了船,有的成了器具,而他还一直是快很不错的木材,并一直沾沾
自喜我是一块很好的木材。
我的理解是,他也许成材了,但是没有成器。

【在 s*****r 的大作中提到】
: 感觉秒杀一大半GF码农没问题
: 人家狂确实有资本,追求最美的代码

avatar
f*n
10
你用照片换过包子吗?能换几个?

【在 j*****h 的大作中提到】
: 我用板斧生活照换, 可以么?
avatar
w*t
11
想证明是不是牛逼拿去投jane street就知道了。
avatar
h*o
12
清风两袖朝边去,免得闾阎话短长。

【在 f********n 的大作中提到】
: 你们这下爽了吧,村长都不来灌水了,平常老说什么娱乐,赵本山什么的,看了我存的
: 这些帖子是不是要肃然要起敬些?
: 最早追溯到07年,6个包子,字字珠玑,绝对超值。最后包子我会和村长对半分。

avatar
j*o
13
你代码写出花来没产品也是没鸟用,索南一直沉浸在技的圈子里自嗨。
avatar
f*n
14
谢谢几位转账的股友,帖子已经发到BBS信箱。有兴趣的尽快联系,今晚为止。

【在 f********n 的大作中提到】
: 你们这下爽了吧,村长都不来灌水了,平常老说什么娱乐,赵本山什么的,看了我存的
: 这些帖子是不是要肃然要起敬些?
: 最早追溯到07年,6个包子,字字珠玑,绝对超值。最后包子我会和村长对半分。

avatar
w*t
15
这哥们现在就是在网上造势,等自己成了网红说不定哪天就被哪个不明真相的公司或投
资人当成大哥请走了。现在知乎微博上这种人很多,就看能不能把自己炒红。王垠在吸
引眼球方面so far so good,只是偶尔出来一两个sb言论给自己减分不少,当然说不定
是他故意的。

【在 j******o 的大作中提到】
: 你代码写出花来没产品也是没鸟用,索南一直沉浸在技的圈子里自嗨。
avatar
b*u
16
boshihou,您好:
您转给 fullmargin,现金(伪币):60,收取手续费:0.6
同时附加了如下留言给 fullmargin.
期待帖子
站务

【在 f********n 的大作中提到】
: 你们这下爽了吧,村长都不来灌水了,平常老说什么娱乐,赵本山什么的,看了我存的
: 这些帖子是不是要肃然要起敬些?
: 最早追溯到07年,6个包子,字字珠玑,绝对超值。最后包子我会和村长对半分。

avatar
j*r
17
我老不懂编程语言,就问几个问题。这40行代码成为啥系统的核心代码,挣了多少钱没
有?
如果没有,但是学术上很牛逼,那么发在什么peer review的论文上没有?
如果都没有,那不就是然并卵。同样的东西找个做compiler的博士生几天就给做了,是
40行还是4000行有区别吗?程序是用来跑的,不是用来比短的。
业界看钱,学界看论文。都没有的跟孔乙己show off会写四种回字一个性质。
avatar
f*n
18
发了,还有谁?

【在 b******u 的大作中提到】
: boshihou,您好:
: 您转给 fullmargin,现金(伪币):60,收取手续费:0.6
: 同时附加了如下留言给 fullmargin.
: 期待帖子
: 站务

avatar
g*j
19
完全同意

【在 j**********r 的大作中提到】
: 我老不懂编程语言,就问几个问题。这40行代码成为啥系统的核心代码,挣了多少钱没
: 有?
: 如果没有,但是学术上很牛逼,那么发在什么peer review的论文上没有?
: 如果都没有,那不就是然并卵。同样的东西找个做compiler的博士生几天就给做了,是
: 40行还是4000行有区别吗?程序是用来跑的,不是用来比短的。
: 业界看钱,学界看论文。都没有的跟孔乙己show off会写四种回字一个性质。

avatar
b*u
20
看了一下,很扯淡,没啥有价值的东西,大家不要上当
avatar
n*e
21
你要是在我这里“数以几十计的推翻重写”,信不信老子当场要你滚蛋。



【在 s*****r 的大作中提到】
: 感觉秒杀一大半GF码农没问题
: 人家狂确实有资本,追求最美的代码

avatar
d*e
22
你愿意的话,我20个伪币买你手里的这一份。:)

【在 b******u 的大作中提到】
: 看了一下,很扯淡,没啥有价值的东西,大家不要上当
avatar
b*5
23
你是不是舔你妈身上的黑人的精液, 舔的脑子烂掉了。。。 你有资格叫人滚蛋么?!
你自己也就一打工的...

【在 n****e 的大作中提到】
: 你要是在我这里“数以几十计的推翻重写”,信不信老子当场要你滚蛋。
:
: 在

avatar
b*u
24
40 成交

【在 d******e 的大作中提到】
: 你愿意的话,我20个伪币买你手里的这一份。:)
avatar
c*w
25
别再转这比的文章了 崇拜他回去找他好了
avatar
d*e
26
我靠,继续讨价还价。
我出30,你可以再考虑卖给另外一个人,这样你就回本了。
如何?

【在 b******u 的大作中提到】
: 40 成交
avatar
c*e
27
谢谢分享。 也许有人能从这码中找到用途。 几年前我就是靠一同事的一行程序赚了近
半米。
avatar
f*o
28
什么几把玩意,这么嗨。行为艺术吧。
难怪混不下去。
avatar
g*c
29
这个傻逼制造了太多的噪音了
avatar
t*4
30
这代码过不了任何code review吧

:【 以下文字转载自 Military 讨论区 】
https://www.zhihu.com/question/20822815
:"我有什么资格说话呢?如果你要了解我的本事,真的很简单:我最精要的代码
都放在 GitHub 上了。但是除非接受过专门的训练,你绝对不会理解它们的价值。你会
很难想
:象,这样一片普通人看起来像是玩具的 40 行 cps.ss 代码,融入了我一个星期的日
日夜夜的心血,数以几十计的推翻重写。这段代码,曾经耗费了一些顶尖专家十多年的
研究。一个教授告诉我,光是想看懂他们的论文就需要不止一个月。而它却被我在一个
星期之内闷头写出来了。我是在说大话吗?代码就摆在那里,自己去看看不就知道了。
当我死后,如果有人想要知道什么是我上半生最重要的“杰作”,也就是这 40 行代码
了。它蕴含的美,超越我给任何公司写的成千上万行的代码。"
:有没有人来说说这个东西,我想知道他有没有说大话。
:附代码:
:;; A simple CPS transformer which does proper tail-call and does not
:;; duplicate contexts for if-expressions.
:;; author: Yin Wang ([email protected]/* */)
:(load "pmatch.scm")
:..........

【在 s*****r 的大作中提到】
: 感觉秒杀一大半GF码农没问题
: 人家狂确实有资本,追求最美的代码

avatar
f*o
31
这人的人生观有问题,质疑他否定他的一律都是傻逼,自己写的垃圾就当个宝。
其实这样的 bias 每个人都多多少少有一点,只不过一般人没他这么挫,多试几次总能
混到个不错的地方,也就不再继续悲愤了。
avatar
r*s
32
首先这应该有pseudo-code,然后才是代码,仅仅表示pseudo-code可实现,而已。
AND HOW THE FUCK DOES ANYONE DEBUG THIS SHIT?
avatar
c*d
33
人家说了,未经许可乱debug他的代码是不尊重的行为。
http://www.yinwang.org/blog-cn/2015/03/03/how-to-respect-a-prog

【在 r****s 的大作中提到】
: 首先这应该有pseudo-code,然后才是代码,仅仅表示pseudo-code可实现,而已。
: AND HOW THE FUCK DOES ANYONE DEBUG THIS SHIT?

avatar
n*u
34
这个什么王银的确除了制造点噪音也没什么其他的用处了
avatar
c*e
35
当艺术品收藏了!mark, mark, mark
avatar
e*o
36
妈蛋写这么多不就是个call-back吗……瞎鸡巴整
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。