Skip to content

Commit 5e32210

Browse files
committed
Add Links static content
1 parent 32abac9 commit 5e32210

21 files changed

+3881
-0
lines changed

arrows/index.html

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2+
<html xmlns="http://www.w3.org/1999/xhtml">
3+
<head>
4+
<title>The Arrow Calculus</title>
5+
<link rel="stylesheet" type="text/css" href="http://homepages.inf.ed.ac.uk/wadler/style.css"/>
6+
<link rel="stylesheet" type="text/css" href="../links.css"/>
7+
</head>
8+
9+
<body>
10+
<h1>The Arrow Calculus</h1>
11+
12+
<div class="content">
13+
<h3>Abstract</h3>
14+
We introduce the arrow calculus, a metalanguage for manipulating
15+
Hughes's arrows with close relations both to Moggi's metalanguage
16+
for monads and to Paterson's arrow notation.
17+
18+
<p>
19+
<h3>Paper</h3>
20+
<a href="/links/papers/arrow-calculus-jfp.pdf">The Arrow Calculus</a>.
21+
Sam Lindley, Philip Wadler, and Jeremy Yallop.
22+
Journal of Functional Programming, January 2010.
23+
</p>
24+
25+
<p>
26+
<h3>Tech report</h3>
27+
<a href="/links/papers/arrow-calculus-tr2008.pdf">The Arrow Calculus</a>,
28+
Sam Lindley, Philip Wadler, and Jeremy Yallop.
29+
Tech report, 2008.
30+
</p>
31+
32+
<p>
33+
<h3>Related</h3>:
34+
<a href="http://homepages.inf.ed.ac.uk/slindley/papers/idioms-arrows-monads.pdf">
35+
Idioms are oblivious, arrows are meticulous, monads are promiscuous.</a>
36+
Sam Lindley, Philip Wadler, and Jeremy Yallop.
37+
In the proceedings of MSFP 2008. ENTCS.
38+
39+
40+
</div>
41+
<hr/>
42+
</body>
43+
</html>

arthurs-seat.jpg

275 KB
Loading

demos.html

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
<html xmlns="http://www.w3.org/1999/xhtml">
2+
<head>
3+
<title>Links demos (April 2006)</title>
4+
<link rel="stylesheet" type="text/css" href="http://homepages.inf.ed.ac.uk/wadler/style.css" />
5+
</head>
6+
<body>
7+
<h1>Links demos (April 2006)</h1>
8+
9+
These demos use an old version of Links. Up-to-date versions and
10+
several more examples can be found <a href="examples/">here</a>.
11+
12+
<ul>
13+
<li><a href="demos/factorial.links">Factorial</a> (<a href="demossrc/factorial.links">source</a>)</li>
14+
<li><a href="demos/dict-suggest.links">Dictionary suggest</a> (<a href="demossrc/dict-suggest.links">source</a>)</li>
15+
<li><a href="demos/draggable.links">Draggable lists</a> (<a href="demossrc/draggable.links">source</a>)</li>
16+
<li><a href="demos/progress.links">Progress bar</a> (<a href="demossrc/progress.links">source</a>)</li>
17+
</ul>
18+
19+
This is a prototype implementation. It has only been tested with <a
20+
href="http://www.mozilla.com/firefox/">FireFox</a>. The syntax and
21+
functionality of this code differs from our paper, submitted to ICFP,
22+
in the following ways:
23+
24+
<ul>
25+
26+
<li id="var-keyword"> In the paper, variable bindings are introduced
27+
by a <code>var</code> keyword; the keyword is omitted in this
28+
implementation. </li>
29+
30+
<li id="table-decl">
31+
Tables are declared differently. In the implementation, tables
32+
are just values, assigned like any other:
33+
<pre>
34+
factorials = Table "factorials" (i : Int, f: Int) from db;
35+
</pre>
36+
In the paper, tables are "declared" and the variable has the same name
37+
as the table:
38+
<pre>
39+
table factorials (i : Int, f: Int) database db;
40+
</pre>
41+
</li>
42+
43+
<li id="sorting"> The syntax for sorting a table is different. In the
44+
implementation, we offer a <code>order</code> keyword on
45+
<code>Table</code> declarations:
46+
47+
<pre>
48+
Table "factorials" (...) order [ ... ] from db;
49+
</pre>
50+
In the paper, comprehensions rather than tables are given an <code>orderby</code>
51+
clause:
52+
<pre>
53+
for (x <- factorials)
54+
orderby ( ... ) ...
55+
</pre>
56+
</li>
57+
58+
<li id="no-regexp"> In some examples, we use slashes to delimit a regular expression,
59+
and use the tilde as the regular expression matching operator:
60+
<code>
61+
t ~ /[0-9]+/
62+
</code>
63+
Regular expressions are not yet supported in the implementation.
64+
</li>
65+
66+
<li id="SwapNodes">
67+
The draggable lists demo uses a <code>SwapNodes</code> DOM operation
68+
that is not described in the paper. <code>SwapNodes</code> accepts
69+
references to two nodes in the DOM tree and swaps their positions in
70+
the tree. </li>
71+
72+
<li id="receive"> In the paper the cases of a "receive" expression begin with the "case" keyword.
73+
<pre>
74+
receive {
75+
case Label1 -> body1;
76+
case Label2 -> body2;
77+
}
78+
</pre>
79+
80+
In the implementation, the case keyword is not used:
81+
82+
<pre>
83+
receieve {
84+
Label1 -> body1
85+
Label2 -> body2
86+
}
87+
</pre>
88+
</li>
89+
90+
<li id="spawn"> In the paper, <code>spawn</code> takes a proper expression as its argument:
91+
<pre>
92+
spawn { expr };
93+
</pre>
94+
95+
In the implementation, <code>spawn</code> is an ordinary function and it takes a
96+
functional value as its argument:
97+
98+
<pre>
99+
fun f { expr }
100+
...
101+
spawn(f);
102+
</pre>
103+
104+
</li>
105+
106+
</ul>
107+
108+
109+
<p><a href="http://groups.inf.ed.ac.uk/links/">Links homepage</a></p>
110+
</body>
111+
</html>

formlets/index.html

+97
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15">
5+
<title>The Essence of Form Abstraction. Cooper, Lindley, Wadler, Yallop. 2008.</title>
6+
<link rel="stylesheet" type="text/css" href="http://homepages.inf.ed.ac.uk/wadler/style.css">
7+
<link rel="stylesheet" type="text/css" href="../links.css">
8+
</head>
9+
10+
<body>
11+
<h1>The essence of form abstraction</h1>
12+
13+
<div class="content">
14+
15+
<p>
16+
<h3>Abstract</h3>
17+
Abstraction is the cornerstone of high-level programming; HTML forms
18+
are the principal medium of web interaction. However, most web
19+
programming environments do not support abstraction of form
20+
components, leading to a lack of compositionality. Using a semantics
21+
based on idioms, we show how to support compositional form
22+
construction and give a convenient syntax.
23+
</p>
24+
25+
<p>
26+
<h3>Full text</h3>
27+
<a href="/links/papers/formlets-essence.pdf">The Essence of Form Abstraction</a> (<a href="http://research.microsoft.com/~grama/APLAS2008/">APLAS 2008</a>) (PDF).
28+
</p>
29+
30+
<p>
31+
<h3>Tech report</h3>
32+
<a href="/links/papers/formlets-tr2008.pdf">An idiom's guide to formlets</a>.
33+
Contains full details of the validation extension, amongst other things.
34+
</p>
35+
36+
<p>
37+
<h3>Source code</h3> <a
38+
href="ocaml-formlets-june-2008.tar.gz">Complete OCaml code for
39+
formlets</a> including all extensions described in the paper.
40+
</p>
41+
42+
<p>
43+
<h3>Related</h3>
44+
45+
<ul>
46+
47+
<li>
48+
"<a href="/links/papers/undergrads/steve.pdf">Creating linksCollab : An
49+
Assessment of Links as a Web Development Language</a>," Steve
50+
Strugnell, 2008.
51+
<a href="http://linkscollab.stevestrugnell.net/source/">Source code</a>. <br />
52+
A bachelor's thesis describing the port of a commercial PHP
53+
project-management application to the Links version of Formlets,
54+
including an in-depth comparison between Links formlets and forms
55+
implemented in PHP. </li>
56+
57+
<li> <a href="http://hackage.haskell.org/cgi-bin/hackage-scripts/package/formlets">Formlets Haskell module</a> by Chris Eidhof. <a href="Http://Blog.tupil.com/formlets-in-haskell/">Tutorial</a>.
58+
59+
<li><a href="http://docs.plt-scheme.org/web-server/formlets.html">Formlets Scheme module</a> by Jay McCarthy.
60+
</li>
61+
</ul>
62+
</p>
63+
64+
<p><h3>Citation</h3> <br />
65+
66+
Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop.
67+
"<a href="/links/papers/formlets-essence.pdf">The essence of form
68+
abstraction</a>." In <cite>Proceedings of the Sixth Asian Symposium on
69+
Programming Languages and Systems</cite>, 2008.
70+
</p>
71+
<p>
72+
Ezra Cooper, Sam Lindley, Philip Wadler, and Jeremy Yallop.
73+
"<a href="/links/papers/formlets-tr2008.pdf">An idiom's guide to formlets</a>."
74+
Technical report, University of Edinburgh, 2008.
75+
</p>
76+
<p>
77+
<h3>BibTeX</h3>
78+
<pre>
79+
@inproceedings{CLWY08essence,
80+
title = {The essence of form abstraction},
81+
author = {Ezra Cooper and Sam Lindley and Philip Wadler and Jeremy Yallop},
82+
booktitle = {Sixth Asian Symposium on Programming Languages and Systems},
83+
year = {2008}
84+
}
85+
@techreport{CLWY08idiomsguide,
86+
title = {An idiom's guide to formlets},
87+
author = {Ezra Cooper and Sam Lindley and Philip Wadler and Jeremy Yallop},
88+
institution = {University of Edinburgh},
89+
year = {2008}
90+
}
91+
</pre>
92+
</p>
93+
94+
</div>
95+
96+
<hr>
97+
</body> </html>

formlets/linksCollab Report.pdf

532 KB
Binary file not shown.
36.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)