Skip to content

Commit 357b5c2

Browse files
Yet more tags
1 parent d82fc06 commit 357b5c2

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

building/tooling/analyzers/tags.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
5858
| `technique:composition` | Using composition |
5959
| `technique:concurrency` | Using concurrency |
6060
| `technique:enumeration` | Enumerating over values |
61+
| `technique:error-handling` | Handling errors |
6162
| `technique:exceptions` | Working with exceptions |
6263
| `technique:higher-order-functions` | Using higher-order functions |
6364
| `technique:immutability` | Using immutability |
@@ -77,6 +78,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
7778
| `technique:short-circuiting` | Use short-circuiting to prevent unnecessary evaluation |
7879
| `technique:sorted-collection` | Using sorted collections (special case of `technique:sorting`) |
7980
| `technique:sorting` | Sorting data |
81+
| `technique:tail-call-optimization` | Use tail-call optimization for efficient recursion |
8082
| `technique:type-conversion` | Converting values from one type to another type |
8183
| `technique:unsafe` | Using unsafe code, e.g. pointer arithmetic |
8284

@@ -97,47 +99,61 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
9799
| `construct:default-interface-implementation` | A default implementation in an interface |
98100
| `construct:default` | A default value (e.g. for a parameter) |
99101
| `construct:destructuring` | Decontruct a value into its parts |
102+
| `construct:discard` | Discard a result |
100103
| `construct:equality` | Compare equality of two values |
101104
| `construct:event` | An event |
102105
| `construct:explicit-conversion` | Exlicitly convert from one type to another type (aka "casting") |
106+
| `construct:explicit-import` | Explicitly import only the specified functionality |
103107
| `construct:extension-method` | An extension method |
104108
| `construct:field` | A field |
109+
| `construct:field-access` | Access a field |
110+
| `construct:function-overloading` | Function overloading |
105111
| `construct:function` | A function |
112+
| `construct:generator` | A function or method that produces values |
106113
| `construct:generic-function` | A function that is parameterized with one or more types |
107114
| `construct:generic-method` | A method that is parameterized with one or more types |
108115
| `construct:generic-type` | A type that is parameterized with one or more types |
109116
| `construct:getter` | A getter |
110117
| `construct:implicit-conversion` | Implicitly convert from one type to another type |
111118
| `construct:import` | Import functionality (e.g. from a namespace/module) |
119+
| `construct:indexing` | Accessing a value by index |
112120
| `construct:indexer` | An indexer |
113121
| `construct:inequality` | Compare inequality of two values |
114122
| `construct:invocation` | An invocation of a method/function |
123+
| `construct:iterator` | A function or method that can be iterated over |
115124
| `construct:lambda` | A lambda (aka an "anonymous function") |
116125
| `construct:logical-and` | A logical AND |
117126
| `construct:logical-not` | A logical NOT |
118127
| `construct:logical-or` | A logical OR |
128+
| `construct:macro` | A macro |
129+
| `construct:method-chaining` | Chains several method calls |
119130
| `construct:method-overloading` | Method overloading |
120131
| `construct:method-override` | An overridden method |
121132
| `construct:method` | A method |
122133
| `construct:module` | A module (grouping of code) |
134+
| `construct:multiple-assignment` | Assign multiple values at once |
123135
| `construct:multiple-dispatch` | Multiple dispatch |
124136
| `construct:named-argument` | An argument passed by name |
125137
| `construct:namespace` | A namespace (grouping of code) |
126-
| `construct:nesting` | Use nesting |
127138
| `construct:nested-function` | A nested function |
128139
| `construct:nested-type` | A nested type |
140+
| `construct:nesting` | Use nesting |
129141
| `construct:nullability` | Nullability, dealing with `null` values |
130142
| `construct:operator-overloading` | Operator overloading |
131143
| `construct:optional-parameter` | An optional parameter (doesn't have to be passed) |
132144
| `construct:parameter` | A parameter |
145+
| `construct:parenthesized-expression` | A parenthesized expression |
133146
| `construct:pattern-matching` | Pattern matching |
134147
| `construct:property` | A property (getter/setter) |
135148
| `construct:setter` | A setter |
136149
| `construct:static-field` | A static field |
137150
| `construct:static-method` | A static method |
151+
| `construct:string-formatting` | Building a string via a format string |
138152
| `construct:throw` | Throw/raise an exception |
139153
| `construct:try` | Explicitly handle an exception |
140154
| `construct:type-alias` | An alias for a type |
155+
| `construct:type-conversion` | Converts/casts a value to another type |
156+
| `construct:type-extension` | Extend a type with new functionality |
141157
| `construct:type-inference` | Automatically infer the type of a value |
142158
| `construct:type-test` | Test if a value has a specific type |
143159
| `construct:varargs` | Allow passing in zero or more values for a parameter |
@@ -217,6 +233,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
217233
| `construct:enum` | An enum (enumeration of values) |
218234
| `construct:null` | Represents the absence of a value (something called `nil`) |
219235
| `construct:number` | A number (signed or unsigned) |
236+
| `construct:complex-number` | A complex number |
220237
| `construct:string` | A string |
221238
| `construct:time` | A time (no date) |
222239
| `construct:pointer` | A pointer |
@@ -258,6 +275,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
258275
| `construct:interface` | An interface |
259276
| `construct:option` | An option type |
260277
| `construct:record` | A record (usually immutable) |
278+
| `construct:result` | A result type |
261279
| `construct:struct` | A struct |
262280
| `construct:sum-type` | A sum type |
263281
| `construct:tuple` | A tuple |
@@ -276,7 +294,9 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
276294
| `construct:list` | A list |
277295
| `construct:multi-dimensional-array` | An array with multiple dimensions |
278296
| `construct:queue` | A queue |
297+
| `construct:range` | A range |
279298
| `construct:set` | A set |
299+
| `construct:slice` | A subset of a collection |
280300
| `construct:stack` | A stack |
281301

282302
#### Notation

0 commit comments

Comments
 (0)