各位国庆快乐!
好久都没写东西了,就随便找个借口写点东西吧。
既然国庆放七天,我就随手推荐七篇paper吧,在脑袋里面找出来的,以前可能推荐过,不要见怪。
Generic Deriving of Generic Traversals - 好中规中矩的paper,就是说‘我用generics搞出了scrap your boilerplate without runtime type checking’,没有任何novelty。不过数字好漂亮啊!
Generic Programming of All Kinds - 靠De Bruijn Index跟各种扩展把True Sum of Product搞上gadt/constrainted/rankn等等等等。几天前当
@Felis sapiens 到西雅图来玩的时候曾经问他‘True Sum of Product跟Scrap Your Boilerplate你选那个’,结果他竟然给我说GHC.Generic!原因是TSOP/SYB等难以搞上复杂一点的类型(GADT/RankN)。现在看到这篇paper,越来越觉得有道理 - 这搞是搞上去了,不过好复杂,说不定反而比Generic用起来更麻烦呢。
Demystifying Differentiable Programming: Shift/Reset the Penultimate Backpropagator - 这是The paper on AD。曾经想过,其实只有两种AD算法,forward跟reverse,其他的一切ad算法都只是这两的变种(numerical ad是forward,但是不用infinitesmall,改某个足够小的值,symbolic也是forward,但是没有cse,同理,把wengert list变成runtime datastructure就是higher order reverse mode),然后写个blog。结果发现,这不就是这篇paper吗。结果竟然被ICFP拒了,什么鬼。
Beautiful differentiation - 这篇paper提出了differentiation tower,一次求出无数个导,挺漂亮的。另外也是conal照常的猫论时间。
Lightweight Static Capabilities - 教你怎么在不玩type level programming的情况下实现某种意义上的dependent type。
Ghosts of Departed Proofs - 上面内篇paper的扩展,变得更general了
Haskell is not not ML - Wadler老爷子说过‘一个idea会被逻辑学家发明一遍,再被计算机科学家发明一遍’。这篇paper给我的感觉是SPJ挥舞着大锤子,在intuitionistic paraconsistent logic上敲了敲,然后duang的一声发现能用来unify strict&lazy language。以前看过para logic的时候,发现这是intuition的dual,但是在PL中完全没找到用途。。。现在竟然被找出来了,v587