spec: Allow omission of low slice bound
See also https://golang.org/cl/1957045/
R=gri, rsc, r
CC=golang-dev
https://golang.org/cl/2163042
diff --git a/doc/go_spec.html b/doc/go_spec.html
index 285c867..fb7b68c 100644
--- a/doc/go_spec.html
+++ b/doc/go_spec.html
@@ -2183,7 +2183,7 @@
Selector = "." identifier .
Index = "[" Expression "]" .
-Slice = "[" Expression ":" [ Expression ] "]" .
+Slice = "[" [ Expression ] ":" [ Expression ] "]" .
TypeAssertion = "." "(" Type ")" .
Call = "(" [ ExpressionList [ "," ] ] ")" .
</pre>
@@ -2453,12 +2453,15 @@
</pre>
<p>
-For convenience, the <code>hi</code> expression may be omitted; the notation
-<code>a[lo :]</code> is shorthand for <code>a[lo : len(a)]</code>.
-For arrays or strings, the indexes
-<code>lo</code> and <code>hi</code> must satisfy
-0 <= <code>lo</code> <= <code>hi</code> <= length;
-for slices, the upper bound is the capacity rather than the length.
+For convenience, any of the index expressions may be omitted. A missing low
+index defaults to zero; a missing high index defaults to the length of the
+array, slice, or string.
+</p>
+
+<p>
+For arrays or strings, the indexes <code>low</code> and <code>high</code> must
+satisfy 0 <= <code>low</code> <= <code>high</code> <= length; for
+slices, the upper bound is the capacity rather than the length.
</p>
<p>