File tree Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Expand file tree Collapse file tree 2 files changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -137,6 +137,19 @@ the AST level. See also [witness table](#witness-table).
137
137
An edge in a control flow graph where the destination has multiple predecessors
138
138
and the source has multiple successors.
139
139
140
+ ## currency type
141
+
142
+ A type that's meant to be commonly passed around and stored, like ` Array ` , as
143
+ opposed to a type that's useful for temporary/internal purposes but which you
144
+ wouldn't normally use in an external interface, like ` ArraySlice ` . Having broad
145
+ agreement about the currency type you use for a particular kind of data (e.g.
146
+ using ` Array ` to pass around sequential collections) generally makes the whole
147
+ ecosystem better by reducing artificial barriers to passing data from one system
148
+ to another, and it gives algorithm writers an obvious target to ensure they
149
+ optimize for. That's where the analogy to currency comes from: agreeing on a
150
+ currency type improves the flow of information in a program in some of the same
151
+ ways that agreeing on a currency improves the flow of trade in an economy.
152
+
140
153
## customization point
141
154
142
155
Informal term for a protocol requirement that has a default implementation,
Original file line number Diff line number Diff line change @@ -131,7 +131,8 @@ documentation, please create a thread on the Swift forums under the
131
131
Describes the design of the optimizer pipeline.
132
132
- [ HighLevelSILOptimizations.rst] ( /docs/HighLevelSILOptimizations.rst ) :
133
133
Describes how the optimizer understands the semantics of high-level
134
- operations on currency data types and optimizes accordingly.
134
+ operations on [ currency] ( /docs/Lexicon.md#currency-type ) data types and
135
+ optimizes accordingly.
135
136
Includes a thorough discussion of the ` @_semantics ` attribute.
136
137
137
138
### SourceKit subsystems
You can’t perform that action at this time.
0 commit comments