|
2 | 2 |
|
3 | 3 | This file contains a list of tasks that need completing, ordered by various factors.
|
4 | 4 |
|
5 |
| -Contributors can consider this a 'bounty' list of things to do. If you are looking to contribute, consider picking a task from this list. |
| 5 | +Contributors can consider this a 'bounty' list of things to do. If you are looking to contribute, consider picking a |
| 6 | +task from this list. |
6 | 7 |
|
7 | 8 | Tasks are categorised by importance and marked by difficulty.
|
8 | 9 |
|
9 | 10 | ### Most Important
|
| 11 | + |
10 | 12 | - Finish documentation for built-in syntax. \
|
11 |
| -Some syntax is missing proper [documentation](https://moderocky.gitbook.io/byteskript/). \ |
12 |
| -Difficulty: trivial |
| 13 | + Some syntax is missing proper [documentation](https://moderocky.gitbook.io/byteskript/). \ |
| 14 | + Difficulty: trivial |
13 | 15 | - Write more comprehensive tests. \
|
14 |
| -It is important to test all expected behaviour - some syntax are missing full tests. \ |
15 |
| -It is also important to test forbidden behaviour does *not* work, and proper negative tests are not implemented yet. \ |
16 |
| -It would also be nice to stress-test complex and difficult-to-parse syntax structures. |
17 |
| -Difficulty: easy |
18 |
| -- Try/catch error handling syntax. \ |
19 |
| -Due to the weak typing and verification, it is important to give users proper try/catch functionality. \ |
20 |
| -This will require writing the jumps and stack frames. \ |
21 |
| -Difficulty: hard |
| 16 | + It is important to test all expected behaviour - some syntax are missing full tests. \ |
| 17 | + It is also important to test forbidden behaviour does *not* work, and proper negative tests are not implemented yet. \ |
| 18 | + It would also be nice to stress-test complex and difficult-to-parse syntax structures. \ |
| 19 | + Difficulty: easy |
22 | 20 |
|
23 | 21 | ### Medium Importance
|
| 22 | + |
24 | 23 | - Create an object/type member. \
|
25 |
| -Interacting with a lot of object-oriented JVM languages will require some sort of object system. \ |
26 |
| -These need implement/extend functionality, and may also require method behaviour. \ |
27 |
| -Language structure will need to be decided. \ |
28 |
| -Difficulty: hard |
| 24 | + Interacting with a lot of object-oriented JVM languages will require some sort of object system. \ |
| 25 | + These need implement/extend functionality, and may also require method behaviour. \ |
| 26 | + Language structure will need to be decided. \ |
| 27 | + Difficulty: hard |
29 | 28 | - Create a library for interacting with Java directly. \
|
30 |
| -This will allow a lot more to be done within scripts, rather than relying on libraries to provide complex functionality. \ |
31 |
| -Difficulty: hard |
| 29 | + This will allow a lot more to be done within scripts, rather than relying on libraries to provide complex |
| 30 | + functionality. \ |
| 31 | + Difficulty: hard |
32 | 32 | - Create a library for Java GUIs. \
|
33 |
| -This will probably need to interact with JavaFX. \ |
34 |
| -This should be handled by somebody with experience using Java front-end. \ |
35 |
| -Difficulty: medium |
| 33 | + This will probably need to interact with JavaFX. \ |
| 34 | + This should be handled by somebody with experience using Java front-end. \ |
| 35 | + Difficulty: medium |
36 | 36 | - Write a better default parser. \
|
37 | 37 | The current parser uses RegEx for assembling patterns. \
|
38 | 38 | Since the matching is trivial, I think these can be converted to string-matches. \
|
39 | 39 | Difficulty: easy
|
40 | 40 |
|
41 | 41 | ### Least Important
|
| 42 | + |
| 43 | +- Convert function verifiers to `invokedynamic` call-site binders. \ |
| 44 | + The first function call from a location can be verified and bound to the constant call-site for the function. \ |
| 45 | + This can be used to type-verify a parameter set. \ |
| 46 | + Difficulty: hard |
| 47 | +- Convert all function calls to use type-assuring `invokedynamic` call-sites. \ |
| 48 | + Support automatic conversion and unboxing of parameters. \ |
| 49 | + Support looking for functions with non-exact erasures. \ |
| 50 | + Difficulty: hard |
42 | 51 | - Create a library for web-servers. \
|
43 | 52 | Support opening a web-server and receiving requests. \
|
44 | 53 | Support sending HTTP requests to a web-server. \
|
45 | 54 | Difficulty: medium
|
46 | 55 | - Create a library for Discord bots. \
|
47 |
| -Difficulty: medium |
| 56 | + Difficulty: medium |
0 commit comments