@@ -58,6 +58,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
58
58
| ` technique:composition ` | Using composition |
59
59
| ` technique:concurrency ` | Using concurrency |
60
60
| ` technique:enumeration ` | Enumerating over values |
61
+ | ` technique:error-handling ` | Handling errors |
61
62
| ` technique:exceptions ` | Working with exceptions |
62
63
| ` technique:higher-order-functions ` | Using higher-order functions |
63
64
| ` 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
77
78
| ` technique:short-circuiting ` | Use short-circuiting to prevent unnecessary evaluation |
78
79
| ` technique:sorted-collection ` | Using sorted collections (special case of ` technique:sorting ` ) |
79
80
| ` technique:sorting ` | Sorting data |
81
+ | ` technique:tail-call-optimization ` | Use tail-call optimization for efficient recursion |
80
82
| ` technique:type-conversion ` | Converting values from one type to another type |
81
83
| ` technique:unsafe ` | Using unsafe code, e.g. pointer arithmetic |
82
84
@@ -97,47 +99,61 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
97
99
| ` construct:default-interface-implementation ` | A default implementation in an interface |
98
100
| ` construct:default ` | A default value (e.g. for a parameter) |
99
101
| ` construct:destructuring ` | Decontruct a value into its parts |
102
+ | ` construct:discard ` | Discard a result |
100
103
| ` construct:equality ` | Compare equality of two values |
101
104
| ` construct:event ` | An event |
102
105
| ` construct:explicit-conversion ` | Exlicitly convert from one type to another type (aka "casting") |
106
+ | ` construct:explicit-import ` | Explicitly import only the specified functionality |
103
107
| ` construct:extension-method ` | An extension method |
104
108
| ` construct:field ` | A field |
109
+ | ` construct:field-access ` | Access a field |
110
+ | ` construct:function-overloading ` | Function overloading |
105
111
| ` construct:function ` | A function |
112
+ | ` construct:generator ` | A function or method that produces values |
106
113
| ` construct:generic-function ` | A function that is parameterized with one or more types |
107
114
| ` construct:generic-method ` | A method that is parameterized with one or more types |
108
115
| ` construct:generic-type ` | A type that is parameterized with one or more types |
109
116
| ` construct:getter ` | A getter |
110
117
| ` construct:implicit-conversion ` | Implicitly convert from one type to another type |
111
118
| ` construct:import ` | Import functionality (e.g. from a namespace/module) |
119
+ | ` construct:indexing ` | Accessing a value by index |
112
120
| ` construct:indexer ` | An indexer |
113
121
| ` construct:inequality ` | Compare inequality of two values |
114
122
| ` construct:invocation ` | An invocation of a method/function |
123
+ | ` construct:iterator ` | A function or method that can be iterated over |
115
124
| ` construct:lambda ` | A lambda (aka an "anonymous function") |
116
125
| ` construct:logical-and ` | A logical AND |
117
126
| ` construct:logical-not ` | A logical NOT |
118
127
| ` construct:logical-or ` | A logical OR |
128
+ | ` construct:macro ` | A macro |
129
+ | ` construct:method-chaining ` | Chains several method calls |
119
130
| ` construct:method-overloading ` | Method overloading |
120
131
| ` construct:method-override ` | An overridden method |
121
132
| ` construct:method ` | A method |
122
133
| ` construct:module ` | A module (grouping of code) |
134
+ | ` construct:multiple-assignment ` | Assign multiple values at once |
123
135
| ` construct:multiple-dispatch ` | Multiple dispatch |
124
136
| ` construct:named-argument ` | An argument passed by name |
125
137
| ` construct:namespace ` | A namespace (grouping of code) |
126
- | ` construct:nesting ` | Use nesting |
127
138
| ` construct:nested-function ` | A nested function |
128
139
| ` construct:nested-type ` | A nested type |
140
+ | ` construct:nesting ` | Use nesting |
129
141
| ` construct:nullability ` | Nullability, dealing with ` null ` values |
130
142
| ` construct:operator-overloading ` | Operator overloading |
131
143
| ` construct:optional-parameter ` | An optional parameter (doesn't have to be passed) |
132
144
| ` construct:parameter ` | A parameter |
145
+ | ` construct:parenthesized-expression ` | A parenthesized expression |
133
146
| ` construct:pattern-matching ` | Pattern matching |
134
147
| ` construct:property ` | A property (getter/setter) |
135
148
| ` construct:setter ` | A setter |
136
149
| ` construct:static-field ` | A static field |
137
150
| ` construct:static-method ` | A static method |
151
+ | ` construct:string-formatting ` | Building a string via a format string |
138
152
| ` construct:throw ` | Throw/raise an exception |
139
153
| ` construct:try ` | Explicitly handle an exception |
140
154
| ` 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 |
141
157
| ` construct:type-inference ` | Automatically infer the type of a value |
142
158
| ` construct:type-test ` | Test if a value has a specific type |
143
159
| ` 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
217
233
| ` construct:enum ` | An enum (enumeration of values) |
218
234
| ` construct:null ` | Represents the absence of a value (something called ` nil ` ) |
219
235
| ` construct:number ` | A number (signed or unsigned) |
236
+ | ` construct:complex-number ` | A complex number |
220
237
| ` construct:string ` | A string |
221
238
| ` construct:time ` | A time (no date) |
222
239
| ` 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
258
275
| ` construct:interface ` | An interface |
259
276
| ` construct:option ` | An option type |
260
277
| ` construct:record ` | A record (usually immutable) |
278
+ | ` construct:result ` | A result type |
261
279
| ` construct:struct ` | A struct |
262
280
| ` construct:sum-type ` | A sum type |
263
281
| ` 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
276
294
| ` construct:list ` | A list |
277
295
| ` construct:multi-dimensional-array ` | An array with multiple dimensions |
278
296
| ` construct:queue ` | A queue |
297
+ | ` construct:range ` | A range |
279
298
| ` construct:set ` | A set |
299
+ | ` construct:slice ` | A subset of a collection |
280
300
| ` construct:stack ` | A stack |
281
301
282
302
#### Notation
0 commit comments