[pointers] finished :-)
[ozulis.git] / doc / roadmap.doch
blob9c0d7cd149ea26238d2f8a17be4fd408c7572571
1 /**
2  * @page Roadmap
3  * <h1>Roadmap</h1>
4  *
5  * This page describe the roadmap of Ozulis.
6  *
7  * The first goal is to reach a C langage equivalence in term of features.
8  *
9  * == C equivalence ==
10  * - Types
11  *  - Bools \htmlonly<font color="green">[OK]</font>\endhtmlonly
12  *  - Integers \htmlonly<font color="green">[OK]</font>\endhtmlonly
13  *  - Floats \htmlonly<font color="green">[OK]</font>\endhtmlonly
14  *  - Pointers \htmlonly<font color="green">[OK]</font>\endhtmlonly
15  *  - Arrays
16  *  - Union
17  *  - Structs
18  * - strings
19  * - const modifier
20  * - Expressions
21  *  - Arithmetique
22  *  - Logic
23  *  - floating point unordered comparaisons
24  * - return statement \htmlonly<font color="green">[OK]</font>\endhtmlonly
25  * - function declaration \htmlonly<font color="green">[OK]</font>\endhtmlonly
26  * - switch statement
27  * - switch case
28  * - modules
29  * - modules dependancies generator
30  * - function call statement \htmlonly<font color="green">[OK]</font>\endhtmlonly
31  * - for loop
32  * - sizeof
33  * - typeof
34  * - offsetof
35  *
36  * == Clean design and implementation ==
37  * - error and warning messages
38  *  - use a model/view
39  *   - black and white text output
40  *   - colored output
41  *   - html/xml output
42  * - parallelisation ?
43  * - Add singleton (thread safe) design pattern, and use it for types like
44  *   VoidType, BoolType
45  *
46  * == Free features ==
47  * - templates
48  * - methods
49  * - classes
50  * - virtual methods
51  * - multi-methods (dynamic dispatch depending on the type)
52  * - is operator
53  * - dynamic_cast
54  * - foreach
55  * - static if
56  * - assert
57  * - static assert
58  * - static foreach/while/dowhile
59  * - heritage
60  * - contract programing
61  *
62  * == Test suite ==
63  * - write a generic moulinette
64  * - write tests
65  *
66  * == Standard library ==
67  * - io
68  * - math
69  * - strings
70  * - internationalisation
71  * - templates & standard design pattern
72  * - main loop
73  */