|
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