@@ -55,6 +55,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
55
55
| ` technique:bit-manipulation ` | Manipulating bits, usually via bitwise operators (e.g. AND, XOR or left shift) |
56
56
| ` technique:bit-shifting ` | Using bit shifting (special case of ` technique:bit-manipulation ` ) |
57
57
| ` technique:boolean-logic ` | Using boolean logic (AND, OR, NOT) |
58
+ | ` technique:composition ` | Using composition |
58
59
| ` technique:concurrency ` | Using concurrency |
59
60
| ` technique:enumeration ` | Enumerating over values |
60
61
| ` technique:exceptions ` | Working with exceptions |
@@ -65,6 +66,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
65
66
| ` technique:laziness ` | Using laziness, where values are produced only when needed |
66
67
| ` technique:locks ` | Using locks to get exclusive access to resources |
67
68
| ` technique:looping ` | Using loops |
69
+ | ` technique:math ` | Using math |
68
70
| ` technique:memory-management ` | Managing memory |
69
71
| ` technique:ordering ` | Ordering data |
70
72
| ` technique:parallelism ` | Running code in parallel |
@@ -84,16 +86,23 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
84
86
| -------------------------------------------- | --------------------------------------------------------------- |
85
87
| ` construct:abstract-method ` | An abstract method |
86
88
| ` construct:assignment ` | Assign/bind a value to a variable/name |
89
+ | ` construct:boxing ` | A boxed value |
87
90
| ` construct:catch ` | Catch an exception |
91
+ | ` construct:comment ` | A comment |
92
+ | ` construct:comparison ` | Compare two values for their relative order |
93
+ | ` construct:concatenation ` | Concatenate two values |
88
94
| ` construct:constant ` | A constant (immutable) value |
89
95
| ` construct:constructor ` | A constructor |
96
+ | ` construct:coroutine ` | A coroutine |
90
97
| ` construct:default-interface-implementation ` | A default implementation in an interface |
91
98
| ` construct:default ` | A default value (e.g. for a parameter) |
99
+ | ` construct:destructuring ` | Decontruct a value into its parts |
92
100
| ` construct:equality ` | Compare equality of two values |
93
101
| ` construct:event ` | An event |
94
102
| ` construct:explicit-conversion ` | Exlicitly convert from one type to another type (aka "casting") |
95
103
| ` construct:extension-method ` | An extension method |
96
104
| ` construct:field ` | A field |
105
+ | ` construct:function ` | A function |
97
106
| ` construct:generic-function ` | A function that is parameterized with one or more types |
98
107
| ` construct:generic-method ` | A method that is parameterized with one or more types |
99
108
| ` construct:generic-type ` | A type that is parameterized with one or more types |
@@ -114,6 +123,7 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
114
123
| ` construct:multiple-dispatch ` | Multiple dispatch |
115
124
| ` construct:named-argument ` | An argument passed by name |
116
125
| ` construct:namespace ` | A namespace (grouping of code) |
126
+ | ` construct:nesting ` | Use nesting |
117
127
| ` construct:nested-function ` | A nested function |
118
128
| ` construct:nested-type ` | A nested type |
119
129
| ` construct:nullability ` | Nullability, dealing with ` null ` values |
@@ -123,8 +133,11 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
123
133
| ` construct:pattern-matching ` | Pattern matching |
124
134
| ` construct:property ` | A property (getter/setter) |
125
135
| ` construct:setter ` | A setter |
136
+ | ` construct:static-field ` | A static field |
137
+ | ` construct:static-method ` | A static method |
126
138
| ` construct:throw ` | Throw/raise an exception |
127
139
| ` construct:try ` | Explicitly handle an exception |
140
+ | ` construct:type-alias ` | An alias for a type |
128
141
| ` construct:type-inference ` | Automatically infer the type of a value |
129
142
| ` construct:type-test ` | Test if a value has a specific type |
130
143
| ` construct:varargs ` | Allow passing in zero or more values for a parameter |
@@ -134,23 +147,28 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
134
147
135
148
#### Control flow
136
149
137
- | Tag | Description |
138
- | -------------------------------- | -------------------------------------------- |
139
- | ` construct:async-await ` | An ` async ` /` await ` statement |
140
- | ` construct:break ` | Break from a loop |
141
- | ` construct:conditional-access ` | Conditionally access a method |
142
- | ` construct:conditional-operator ` | A ternary conditional operator |
143
- | ` construct:continue ` | Continue to the next iteration of a loop |
144
- | ` construct:do-while-loop ` | A ` do-while ` loop |
145
- | ` construct:else ` | An ` else ` statement |
146
- | ` construct:finally ` | Ensure that a certain code block always runs |
147
- | ` construct:for-loop ` | A ` for ` loop |
148
- | ` construct:foreach ` | A ` foreach ` loop |
149
- | ` construct:if ` | An ` if ` statement |
150
- | ` construct:return ` | Return from a function/method |
151
- | ` construct:switch ` | A ` switch ` |
152
- | ` construct:while-loop ` | A ` while ` loop |
153
- | ` construct:yield ` | Yield a value in a loop |
150
+ | Tag | Description |
151
+ | -------------------------------- | ------------------------------------------------------ |
152
+ | ` construct:async-await ` | An ` async ` /` await ` statement |
153
+ | ` construct:break ` | Break from a loop |
154
+ | ` construct:conditional-access ` | Conditionally access a method |
155
+ | ` construct:conditional-operator ` | A ternary conditional operator |
156
+ | ` construct:continue ` | Continue to the next iteration of a loop |
157
+ | ` construct:do-while-loop ` | A ` do-while ` loop |
158
+ | ` construct:else ` | An ` else ` statement |
159
+ | ` construct:finally ` | Ensure that a certain code block always runs |
160
+ | ` construct:for-loop ` | A ` for ` loop |
161
+ | ` construct:foreach ` | A ` foreach ` loop |
162
+ | ` construct:if ` | An ` if ` statement |
163
+ | ` construct:loop ` | A loop |
164
+ | ` construct:pipe-backward ` | A backward pipe |
165
+ | ` construct:pipe-forward ` | A forward pipe |
166
+ | ` construct:pipeline ` | A pipeline |
167
+ | ` construct:point-free ` | Define functions without the arguments they operate on |
168
+ | ` construct:return ` | Return from a function/method |
169
+ | ` construct:switch ` | A ` switch ` |
170
+ | ` construct:while-loop ` | A ` while ` loop |
171
+ | ` construct:yield ` | Yield a value in a loop |
154
172
155
173
#### Arithmetic
156
174
@@ -177,6 +195,8 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
177
195
| ` construct:multiply-assignment ` | Multiplication and assignment combined |
178
196
| ` construct:multiply ` | Multiplication |
179
197
| ` construct:overflow ` | Arithmetic overflow |
198
+ | ` construct:decrement ` | Decrement a value |
199
+ | ` construct:increment ` | Increment a value |
180
200
| ` construct:postfix-decrement ` | Decrement a value using postfix notation |
181
201
| ` construct:postfix-increment ` | Increment a value using postfix notation |
182
202
| ` construct:prefix-decrement ` | Decrement a value using prefix notation |
@@ -188,17 +208,19 @@ Using a common set of tags will allow us to do some nifty things, like cross-tra
188
208
189
209
#### Value types
190
210
191
- | Tag | Description |
192
- | --------------------- | ---------------------------------------------------------- |
193
- | ` construct:boolean ` | A boolean |
194
- | ` construct:char ` | A character |
195
- | ` construct:date-time ` | A combination of date + time |
196
- | ` construct:date ` | A date (no time) |
197
- | ` construct:enum ` | An enum (enumeration of values) |
198
- | ` construct:null ` | Represents the absence of a value (something called ` nil ` ) |
199
- | ` construct:number ` | A number (signed or unsigned) |
200
- | ` construct:string ` | A string |
201
- | ` construct:time ` | A time (no date) |
211
+ | Tag | Description |
212
+ | ------------------------------ | ---------------------------------------------------------- |
213
+ | ` construct:boolean ` | A boolean |
214
+ | ` construct:char ` | A character |
215
+ | ` construct:date-time ` | A combination of date + time |
216
+ | ` construct:date ` | A date (no time) |
217
+ | ` construct:enum ` | An enum (enumeration of values) |
218
+ | ` construct:null ` | Represents the absence of a value (something called ` nil ` ) |
219
+ | ` construct:number ` | A number (signed or unsigned) |
220
+ | ` construct:string ` | A string |
221
+ | ` construct:time ` | A time (no date) |
222
+ | ` construct:pointer ` | A pointer |
223
+ | ` construct:regular-expression ` | A regular expression |
202
224
203
225
#### Integral types
204
226
0 commit comments