Skip to content

Commit 807661a

Browse files
committed
Update README.md
1 parent bf1e491 commit 807661a

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,21 @@ We are coordinating sprints on some of the ideas below, builtins, stdlib, third
2626

2727
5. Expand and clean up the foreign function API. This API is critical for implementing parts of the standard library.
2828

29+
30+
1. Currently builtin types (list, tuple, string, etc) are not subclassable. Making the builtins subclassable would eliminate several known bugs in Skulpt.
31+
32+
1. Implement decorators. This would enable a whole bunch of pure python modules to be added to skulpt, plus allow us to add things like properties in a nice way.
33+
2934
3. Do a better job of supporting Python3 semantics, but make
3035
Python2/Python3 behavior configurable with a single flag. Sk.python3 is
3136
already there for this purpose. Another positive step in this direction would be to update our grammar to Python2.7. Updating the grammar would allow us to add set literals, dictionary comprehensions, and other features present in 2.7.x and Python 3.3.x. This would be an excellent project for a student interested in language design, parsing, and the use of abstract syntax trees.
3237

3338
4. Make fully workable, and expand support for DOM access as
3439
part of the standard library.
3540

36-
1. Currently builtin types (list, tuple, string, etc) are not subclassable. Making the builtins subclassable would eliminate several known bugs in Skulpt.
3741

3842
1. Expand and improve overall language coverage. Currently Skulpt does an excellent job of meeting the 80/20 rule. We cover the vast majority of the language features used by the 80% (maybe even 90%) of the code. But there are builtins that are not implemented at all, and there are builtins with only partial implementations.
3943

40-
1. Change the execution model so that each line/step is interruptible.
41-
Currently, skulplt runs an entire python program from beginning to end. We have an interrupt timer in place to prevent programs from running more than 30 seconds, during that thirty seconds, the browser is locked up. Over time we have had various suggestions on how to restructure the main interpreter so that the program could be interrupted after each line. This is an advanced project, that would need a lot of testing and a lot of Javascript skill to make sure that we do not sacrifice too much performance for the gain of interruptability.
42-
4344
2. Implement the hooks for a debugger. This may be a half step towards
4445
1 or may be in a completely different direction, but allowing students
4546
to debug line by line a program they have written would have some real

0 commit comments

Comments
 (0)