Skip to content

Commit a9317d6

Browse files
committed
Update TODO list.
1 parent d0d3daf commit a9317d6

File tree

2 files changed

+31
-21
lines changed

2 files changed

+31
-21
lines changed

TODO.md

Lines changed: 30 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,55 @@
22

33
This file contains a list of tasks that need completing, ordered by various factors.
44

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.
67

78
Tasks are categorised by importance and marked by difficulty.
89

910
### Most Important
11+
1012
- 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
1315
- 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
2220

2321
### Medium Importance
22+
2423
- 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
2928
- 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
3232
- 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
3636
- Write a better default parser. \
3737
The current parser uses RegEx for assembling patterns. \
3838
Since the matching is trivial, I think these can be converted to string-matches. \
3939
Difficulty: easy
4040

4141
### 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
4251
- Create a library for web-servers. \
4352
Support opening a web-server and receiving requests. \
4453
Support sending HTTP requests to a web-server. \
4554
Difficulty: medium
4655
- Create a library for Discord bots. \
47-
Difficulty: medium
56+
Difficulty: medium

src/test/resources/generic.bsk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ function generic_expressions:
2020
set {regex} to /hello there/
2121
assert {regex} exists: "Regex literal failed to load."
2222
assert "hello there" matches {regex}: "Regex failed to match exact."
23+
assert /hello there/ matches {regex}: "Regex failed to match exact."
2324
set {regex} to /.+/
2425
assert {regex} exists: "Regex literal failed to load."
2526
assert "blob blob" matches {regex}: "Regex failed to match anything."

0 commit comments

Comments
 (0)