<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">It’s at &lt;<a href="https://gist.github.com/CTMacUser/cfffa526b971d0e1f3a079f53c6819bb" class="">https://gist.github.com/CTMacUser/cfffa526b971d0e1f3a079f53c6819bb</a>&gt;.</div><div class=""><br class=""></div><div class="">* Try to clarify that fixed-size arrays are a new kind of compound type, <b class="">not</b> a (ridiculously magical) library generic type.</div><div class="">* Change the separator between the bounds and element type from a colon to a semicolon.</div><div class="">* Specify that violating the bounds of an array during indexing is a run-time error.</div><div class="">* Reword how the mapping of static-indexing elements for multi-dimensional arrays works.</div><div class="">* Completely redo array values/literals. A literal for a fixed-size array always includes a semicolon, which separates the bounds from the values. (The separator in FSA types was changed to a semicolon to match.) A value can be a plain expression or a dictionary expression where the right side of the colon is the value and the left side is the index of the target element or “default” for all un-targeted elements. The left side can also be “func”, with the right side being an initialization closure.</div><div class="">* Move the “Reshaping Arrays” section and add an example.</div><div class="">* Right now, deterministic initialization is unchanged, so an initializing loop has to be changed to initializing the array with a function term, moving the loop to the closure.</div><div class="">* Remove the “parallel” declaration attribute. Add a future note about it and the “fragmentary” attribute.</div><div class="">* Change the for-loop example to conform to deterministic initialization. Reword how the flattening buffer functions work.</div><div class="">* Add examples to element-wise casting.</div><div class="">* Reword tuple conversion section, and add an example.</div><div class="">* Reword various vector-mode attribute sections. Note that there need to be two ABI additions for FSA, one for non-vectorized FSAs and one for vectorized FSAs. These two kinds of arrays need conversion functions at our (i.e. the ABI) level, but are transparent for the user.</div><div class=""><br class=""></div><div class="">&nbsp; &nbsp; let v1: @vector [3; Int] = [; 1, 3, 5]</div><div class="">&nbsp; &nbsp; let v2: [3; Int] = v1 &nbsp;// Not a type-mismatch error</div><div class=""><br class=""></div><div class="">* Due to FSA’s literals including the bounds, or using automatic bounds mode, array-placeholder syntax is not longer needed for type annotations and has been removed.</div><div class="">* Renamed “nestings” to “layers”.</div><div class=""><br class=""></div><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">—&nbsp;</div><div class="">Daryle Walker<br class="">Mac, Internet, and Video Game Junkie<br class="">darylew AT mac DOT com&nbsp;</div></div>
</div>
<br class=""></body></html>