-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpapershelf.html
158 lines (113 loc) · 5.51 KB
/
papershelf.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>papers</title>
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/main.css">
<link rel="stylesheet" href="/css/github.css">
<link rel="alternate" href="/index.atom" type="application/atom+xml" title="All">
<link rel="alternate" href="/tags/php.atom" type="application/atom+xml" title="PHP">
<link rel="alternate" href="/tags/symfony.atom" type="application/atom+xml" title="symfony">
<meta name="viewport" content="initial-scale=1.0">
</head>
<body>
<div class="container-fluid">
<nav>
<i class="icon-home"></i> <a href="/archive.html">home</a>
<i class="icon-bullhorn"></i> <a href="/talks.html">talks</a>
<i class="icon-book"></i> <a href="/bookshelf.html">bookshelf</a>
<i class="icon-file"></i> <a href="/papershelf.html">papershelf</a>
<i class="icon-facetime-video"></i> <a href="/videoshelf.html">videoshelf</a>
</nav>
<article>
<div class="body">
<div class="hero-unit">
<h1>papers</h1>
<p>cs papers that I liked.</p>
</div>
<div class="book-cover">
<img src="/img/papers/mukanren.png">
</div>
<h2>μKanren: A Minimal Functional Core for Relational Programming</h2>
<p><em>Jason Hemann, Daniel P. Friedman</em></p>
<p>The authors present an extremely tiny implementation of miniKanren in just
under 40 lines of scheme. The conciseness and especially the lack of macros
make this an excellent starting point for building a miniKanren system in a
non-lisp.</p>
<p>Dan Friedman spent decades building logic programming systems in scheme.
Together with Jason Hemann, the essence of those systems was extracted, and
distilled into the product that is μKanren. It gets to the core of what it
means to build a relational machine, and does so on a level that is actually
usable in practice.</p>
<p><a href="http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf" class="btn btn-large btn-inverse" style="width: 100px;"><span class="icon-bookmark icon-white"></span> Read it</a></p>
<p><span class="clearfix"></span></p>
<hr />
<div class="book-cover">
<img src="/img/papers/propositions-as-types.png">
</div>
<h2>Propositions as Types</h2>
<p><em>Philip Wadler</em></p>
<p>Logic and computation are very closely linked. There is a correspondence
between logical propositions and types. This means that proofs are programs
and the normalisation of proofs is the evaluation of programs.</p>
<p>Wadler gives a history of computation: Church and Turing. Logic: Genzen.
Intuitionistic logic: Brouwer, Heyting, Kolmogorov.</p>
<p>Finally, propositional logic and the simply typed lambda calculus are
introduced and the Curry-Howard correspondence manifests itself!</p>
<p><a href="http://homepages.inf.ed.ac.uk/wadler/papers/propositions-as-types/propositions-as-types.pdf" class="btn btn-large btn-inverse" style="width: 100px;"><span class="icon-bookmark icon-white"></span> Read it</a></p>
<p><span class="clearfix"></span></p>
<hr />
<div class="book-cover">
<img src="/img/papers/trust.png">
</div>
<h2>Reflections on Trusting Trust</h2>
<p><em>Ken Thompson</em></p>
<p>This very beautiful and short paper first presents the possibility of quines:
self-reproducing programs. It then introduces the idea of evolving a C
compiler by adding features to the compiler that, once compiled, can be used
in the source language the compiler is written in, playing with the idea of
bootstrapping.</p>
<p>Finally, these two ideas come together, when the compiler is attacked and a
trojan horse is injected into a compiler, which then is able to add itself to
any future version of the compiler. It is almost as if the compiler has been
learnt something that is not visible from the outside.</p>
<p>It raises some interesting questions about trusting compilers and CPUs indeed.</p>
<p><a href="http://www.cs.sunysb.edu/~cse509/p761-thompson.pdf" class="btn btn-large btn-inverse" style="width: 100px;"><span class="icon-bookmark icon-white"></span> Read it</a></p>
<p><span class="clearfix"></span></p>
<hr />
<div class="book-cover">
<img src="/img/papers/lisp.png">
</div>
<h2>Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I</h2>
<p><em>John McCarthy</em></p>
<p>The incredible paper that introduced lisp.</p>
<p>It defines functions, conditional expressions and basic data structure
elements, then builds the lisp system from the ground up. The highlight is a
meta-circular interpreter: A lisp interpreter written in lisp.</p>
<p>The last few pages deal with implementation notes and casually describe mark-
and-sweep garbage collection.</p>
<p><a href="http://www-formal.stanford.edu/jmc/recursive.pdf" class="btn btn-large btn-inverse" style="width: 100px;"><span class="icon-bookmark icon-white"></span> Read it</a></p>
<p><span class="clearfix"></span></p>
</div>
</article>
<div class="author">
<div class="avatar">
<img src="/img/igor.jpg" alt="Igor">
</div>
<div class="details">
<p>Brought to you by <a href="https://twitter.com/igorwhiletrue">@igorwhiletrue</a>.</p>
<p>
Projects you may be interested in:
<a href="https://github.com/fabpot/Silex">Silex</a>,
<a href="http://stackphp.com">Stack</a>,
<a href="http://yolophp.com">YOLO</a>,
<a href="http://reactphp.org">React</a>.
</p>
</div>
</div>
</div>
<script src="/js/highlight.pack.js"></script>
<script src="/js/main.js"></script>
</body>
</html>