由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Military版 - 连王垠都被P了,老中码农这行真是没得混 (转载)
相关主题
王垠的[40 行代码]: 普通琐男码工们都跪安吧!无法量化的东西都不是科学。
小弱国挨着大国基本上活的都很憋屈liyuanchao,|x| L1norm 为什么会导致sparse,你懂么
菌斑一群神经病万岁, 天才老丘.
犹豫:US v.s UK嘲笑马工的进来看看这个
模重复平方算法王垠:我的个人防火墙(MITBBS惨被黑) (转载)
驴友必须知道的事:全球最不友好城市出炉怎样能把go写的稍微漂亮一点? (转载)
索男们不服不行:这个Reddit就是三哥办的曾三次博士退学 王垠:牛校生脑子貌似有病
尼玛,newt是个历史博士。王垠是个难得的计算机语言天才
相关话题的讨论汇总
话题: lambda话题: cps话题: cps1话题: ctx话题: fact
进入Military版参与讨论
1 (共1页)
s*****r
发帖数: 43070
1
【 以下文字转载自 JobHunting 讨论区 】
发信人: swjtuer (码农的小船说翻就翻), 信区: JobHunting
标 题: 连王垠都被P了,老中码农这行真是没得混
发信站: BBS 未名空间站 (Wed May 10 22:35:53 2017, 美东)
看他贴的离职协议,只给了10天时间考虑,还要求用快信寄出。字里行间,毫不客气,
没有缓和的语气,每句都让人不爽
老中在这行真是惨,干苦活脏活,还要听话,最好还会舔,不许有意见,不然就滚蛋
This Separation Agreement and Full and Final Release of Claims (“Agreement
”) is presented to
you on April 27, 2017. To accept this Agreement, please sign, date, and
return it to XXXX XXXX via overnight mail, with delivery confirmation, by
May 7, 2017. Alternatively, you may return the signed Agreement to XXXX XXXX
via electronic means by May 7, 2017 and send the original via U.S. regular
mail no later than one business day after the electronic transmission.
T**********s
发帖数: 2135
2
肿么看出网银玛德牛逼的,
凭他的博客?

Agreement

【在 s*****r 的大作中提到】
: 【 以下文字转载自 JobHunting 讨论区 】
: 发信人: swjtuer (码农的小船说翻就翻), 信区: JobHunting
: 标 题: 连王垠都被P了,老中码农这行真是没得混
: 发信站: BBS 未名空间站 (Wed May 10 22:35:53 2017, 美东)
: 看他贴的离职协议,只给了10天时间考虑,还要求用快信寄出。字里行间,毫不客气,
: 没有缓和的语气,每句都让人不爽
: 老中在这行真是惨,干苦活脏活,还要听话,最好还会舔,不许有意见,不然就滚蛋
: This Separation Agreement and Full and Final Release of Claims (“Agreement
: ”) is presented to
: you on April 27, 2017. To accept this Agreement, please sign, date, and

P**********8
发帖数: 1566
3
这网银就是一情商为零的傻逼,所以混得不如郭文贵的万分之一。
w*******e
发帖数: 15912
4
据说99%的码工见了王垠的40行code之后五花大绑自惭形秽:
王垠40行代码解析
http://wineway.pw/project1/2017/04/24/1/
;; 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

【在 T**********s 的大作中提到】
: 肿么看出网银玛德牛逼的,
: 凭他的博客?
:
: Agreement

s*****V
发帖数: 21731
5
奇技淫巧,茴香豆的九种写法
1 (共1页)
进入Military版参与讨论
相关主题
王垠是个难得的计算机语言天才模重复平方算法
视牛校如粪土 王垠: 我为什么离开Cornell驴友必须知道的事:全球最不友好城市出炉
王垠相当于反对global warming theory的气候学家索男们不服不行:这个Reddit就是三哥办的
王垠是不是老邱?尼玛,newt是个历史博士。
王垠的[40 行代码]: 普通琐男码工们都跪安吧!无法量化的东西都不是科学。
小弱国挨着大国基本上活的都很憋屈liyuanchao,|x| L1norm 为什么会导致sparse,你懂么
菌斑一群神经病万岁, 天才老丘.
犹豫:US v.s UK嘲笑马工的进来看看这个
相关话题的讨论汇总
话题: lambda话题: cps话题: cps1话题: ctx话题: fact