forked from HaxeFoundation/HaxeManual
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
242 lines (238 loc) · 7.03 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
This file is generated, do not edit!
Todo:
1.1 - What is Haxe?: Could we have a big Haxe logo in the First Manual Page (Introduction) under the menu (a bit like a book cover ?) It looks a bit empty now and is a landing page for "Manual"
1.3 - Hello World: This generates the following output: too many 'this'. You may like a passive sentence: the following output will be generated...though this is to be avoided, generally
2.1.3 - Numeric Operators: make sure the types are right for inc, dec, negate, and bitwise negate
2.1.3 - Numeric Operators: While introducing the different operations, we should include that information as well, including how they differ with the "C" standard, see http://haxe.org/manual/operators
2.1.5 - Void: please review, doubled content
2.1.5 - Void: review please, sounds weird
2.2 - Nullability: for starters...please review
2.2.1 - Optional Arguments and Nullability: Is there a difference between `?y : Int` and `y : Null<Int>` or can you even do the latter? Some more explanation and examples with native optional and Haxe optional arguments and how they relate to nullability would be nice.
2.3 - Class Instance: please review future tense
2.4 - Enum Instance: Same as in 2.2, what is `Enum<T>` syntax?
2.4.1 - Enum Constructor: list arguments
2.5 - Anonymous Structure: please reformat
2.5.3 - Optional Fields: I don't really know how these work yet.
2.6 - Function Type: It seems a bit convoluted explanations. Should we maybe start by "decoding" the meaning of Void -> Void, then Int -> Bool -> Float, then maybe have samples using $type
2.8.1 - Implicit Casts: please review your use of "this" and try to vary somewhat to avoid too much word repetition
2.8.2 - Operator Overloading: please review for correctness
2.8.3 - Array Access: You have marked "Map" for some reason
3.5 - Unification: Mention toString()/String conversion somewhere in this chapter.
3.5.1 - Between Class/Interface: "parent class" should probably be used here, but I have no idea what it means, so I will refrain from changing it myself.
3.7.2 - Import: Describe import a.*
3.7.3 - Resolution Order: proper label and caption + code/identifier styling for diagram
6.4.10 - Exhaustiveness checks: Figure out wtf our rules are now for when this is checked.
6.6 - Array Comprehension: Comprehensions are only listing Arrays, not Maps
8.3.1 - Embedding resources: what to use for listing of non-haxe code like hxml?
9.5.1 - Enum building: Check if we can build GADTs this way.
10.4.3 - Integer Math: I think C++ can use integer operatins, but I don't know about any other targets. Only saw this mentioned in an old discussion thread, still true?
Missing Content:
2.5.3 - Optional Fields
5.3 - Binary Operators
5.4 - Unary Operators
6.12 - Remoting
7 - Compiler Reference
7.1 - Compiler Metadata
8.2 - Completion
8.2.1 - Field Access
8.2.2 - Call Arguments
8.2.3 - Usage
8.2.4 - Position
8.2.5 - Toplevel
9.6.1 - Macro-in-Macro
9.6.4 - Type Parameters
10.5 - Lambda
10.9 - Xml
10.10 - Input/Output
10.11 - Sys/sys
12 - Target Details
12.1 - Javascript
12.2 - Flash
12.3 - Neko
12.4 - PHP
12.5 - C++
12.5.2 - Using C++ Pointers
12.6 - Java
12.7 - C#
Unreviewed:
1.1 - What is Haxe?
1.2 - About this Document
1.2.1 - Authors and contributions
1.3 - Hello World
2 - Types
2.1 - Basic Types
2.1.1 - Numeric types
2.1.2 - Overflow
2.1.3 - Numeric Operators
2.1.4 - Bool
2.1.5 - Void
2.2 - Nullability
2.2.1 - Optional Arguments and Nullability
2.3 - Class Instance
2.3.1 - Class constructor
2.3.2 - Inheritance
2.3.3 - Interfaces
2.4 - Enum Instance
2.4.1 - Enum Constructor
2.4.2 - Using enums
2.5 - Anonymous Structure
2.5.1 - JSON for Structure Values
2.5.2 - Class Notation for Structure Types
2.5.4 - Impact on Performance
2.6 - Function Type
2.6.1 - Optional Arguments
2.6.2 - Default values
2.7 - Dynamic
2.7.1 - Dynamic with Type Parameter
2.7.2 - Implementing Dynamic
2.8 - Abstract
2.8.1 - Implicit Casts
2.8.2 - Operator Overloading
2.8.3 - Array Access
2.8.4 - Selective Functions
2.8.5 - Enum abstracts
2.8.6 - Forwarding abstract fields
2.8.7 - Core-type abstracts
2.9 - Monomorph
3 - Type System
3.1 - Typedef
3.1.1 - Extensions
3.2 - Type Parameters
3.2.1 - Constraints
3.3 - Generic
3.3.1 - Construction of generic type parameters
3.4 - Variance
3.5 - Unification
3.5.1 - Between Class/Interface
3.5.2 - Structural Subtyping
3.5.3 - Monomorphs
3.5.4 - Function Return
3.5.5 - Common Base Type
3.6 - Type Inference
3.6.1 - Top-down Inference
3.6.2 - Limitations
3.7 - Modules and Paths
3.7.1 - Module Sub-Types
3.7.2 - Import
3.7.3 - Resolution Order
4 - Class Fields
4.1 - Variable
4.2 - Property
4.2.1 - Common accessor identifier combinations
4.2.2 - Impact on the type system
4.2.3 - Rules for getter and setter
4.3 - Method
4.3.1 - Overriding Methods
4.3.2 - Effects of variance and access modifiers
4.4.1 - Visibility
4.4.2 - Inline
4.4.3 - Dynamic
4.4.4 - Override
5 - Expressions
5.1 - Blocks
5.2 - Constants
5.5 - Array Declaration
5.6 - Object Declaration
5.7 - Field Access
5.8 - Array Access
5.9 - Function Call
5.10 - var
5.11 - Local functions
5.12 - new
5.13 - for
5.14 - while
5.15 - do-while
5.16 - if
5.17 - switch
5.18 - try/catch
5.19 - return
5.20 - break
5.21 - continue
5.22 - throw
5.23 - cast
5.23.1 - unsafe cast
5.23.2 - safe cast
5.24 - type check
6.1 - Conditional Compilation
6.2 - Externs
6.3 - Static Extension
6.3.1 - In the Haxe Standard Library
6.4.1 - Introduction
6.4.2 - Enum matching
6.4.3 - Variable capture
6.4.4 - Structure matching
6.4.5 - Array matching
6.4.6 - Or patterns
6.4.7 - Guards
6.4.8 - Match on multiple values
6.4.9 - Extractors
6.4.10 - Exhaustiveness checks
6.4.11 - Useless pattern checks
6.5 - String Interpolation
6.6 - Array Comprehension
6.7 - Iterators
6.8 - Function Bindings
6.9 - Metadata
6.10 - Access Control
6.11 - Inline constructors
8.1 - Dead Code Elimination
8.3 - Resources
8.3.1 - Embedding resources
8.3.2 - Retrieving text resources
8.3.3 - Retrieving binary resources
8.3.4 - Implementation details
8.4 - Runtime Type Information
8.4.1 - RTTI structure
9 - Macros
9.1 - Macro Context
9.2 - Arguments
9.2.1 - ExprOf
9.2.2 - Constant Expressions
9.2.3 - Rest Argument
9.3 - Reification
9.3.1 - Expression Reification
9.3.2 - Type Reification
9.3.3 - Class Reification
9.4 - Tools
9.5 - Type Building
9.5.1 - Enum building
9.5.2 - @:autoBuild
9.6.2 - Static extension
9.6.3 - Build Order
9.7 - Initialization macros
10.1 - String
10.2.1 - Array
10.2.2 - Vector
10.2.3 - List
10.2.4 - GenericStack
10.2.5 - Map
10.2.6 - Option
10.3 - Regular Expressions
10.3.1 - Matching
10.3.2 - Groups
10.3.3 - Replace
10.3.4 - Split
10.3.5 - Map
10.3.6 - Implementation Details
10.4 - Math
10.4.1 - Special Numbers
10.4.2 - Mathematical Errors
10.4.3 - Integer Math
10.4.4 - Extensions
10.6 - Reflection
10.7 - Serialization
10.7.1 - Serialization format
10.8 - Json
10.8.1 - Parsing JSON
10.8.2 - Encoding JSON
10.8.3 - Implementation details
11 - Haxelib
11.1 - Using a Haxe library with the Haxe Compiler
11.2 - haxelib.json
11.2.1 - Versioning
11.2.2 - Dependencies
11.3 - extraParams.hxml
11.4 - Using Haxelib
12.1.1 - Loading extern classes using "require" function
12.5.1 - Using C++ Defines
Modified: