@@ -13,7 +13,7 @@ it's DOT, the calculus of dependent object types, that underlies Scala.
13
13
A [ paper on DOT] ( http://infoscience.epfl.ch/record/215280 ) will be
14
14
presented in April at [ Wadlerfest] ( http://events.inf.ed.ac.uk/wf2016 ) ,
15
15
an event celebrating Phil Wadler's 60th birthday. There's also a prior
16
- technical report ([ " From F to DOT" ] ( http://arxiv.org/abs/1510.05216 ) )
16
+ technical report ([ From F to DOT] ( http://arxiv.org/abs/1510.05216 ) )
17
17
by Tiark Rompf and Nada Amin describing a slightly different version
18
18
of the calculus. Each paper describes a proof of type soundness that
19
19
has been machine-checked for correctness.
@@ -51,20 +51,10 @@ The grammar uses several kinds of names:
51
51
a for (parameterless) methods
52
52
A for types
53
53
54
- The full calculus adds to this syntax formal _ typing rules_ that assign
55
- types ` T ` to terms ` t ` and formal _ evaluation rules_ that describe how a
56
- program is evaluated. The main difference between the Wadlerfest paper
57
- and the prior technical report lies in the form of these evaluation
58
- rules. The technical report uses a "big step" semantics, i.e. it
59
- defines an interpreter that explains how terms map to
60
- values. The Wadlerfest paper uses a more common "small step"
61
- semantics, i.e. it explains evaluation as step-wise rewritings of
62
- terms. To do this, it needs to restrict terms to be in [ A-normal
63
- form] ( https://en.wikipedia.org/wiki/A-normal_form ) , that is, every
64
- intermediate term is abstracted out in a local definition.
65
-
66
- The following _ type soundness_ property was shown in each case with a
67
- mechanized, (i.e. machine-checked) proof:
54
+ The full calculus adds to this syntax formal _ typing rules_ that
55
+ assign types ` T ` to terms ` t ` and formal _ evaluation rules_ that
56
+ describe how a program is evaluated. The following _ type soundness_
57
+ property was shown with a mechanized, (i.e. machine-checked) proof:
68
58
69
59
> If a term ` t ` has type ` T ` , and the evaluation of ` t ` terminates, then
70
60
the result of the evaluation will be a value ` v ` of type ` T ` .
@@ -151,5 +141,5 @@ project are important.
151
141
This lets us put other constructs of the Scala language to the test,
152
142
either to increase our confidence that they are indeed sound, or
153
143
to show that they are unsound. In my next blog I will
154
- present some of the issues we have discovered by that exercise.
144
+ present some of the issues we have discovered through that exercise.
155
145
0 commit comments