You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
2.4 KiB
76 lines
2.4 KiB
ABI spec file |
|
- ABI converter program? |
|
|
|
File load |
|
- properly malloc area and do a block read when loading a file |
|
- allow for multiple code areas to be loaded |
|
- implement mechanism for checking validity of program counter |
|
against multiple code areas, with fast case where within the same |
|
area as the last check. |
|
- implement function to load new file, from within lightscript |
|
- implement function to unload file / code area, from within lightscript |
|
|
|
Thread control |
|
- implement mechanism to kill threads from within lightscript |
|
- implement mechanism to enumerate running threads |
|
- implement mechanism to get a thread ID when spawning a thread |
|
- implement mechanism for a thread to get its own ID |
|
|
|
Language features |
|
- some kind of thread scope storage, other than function-local variables |
|
- possibly a heap of some sort |
|
- some kind of inter-thread communication which doesn't rely on global |
|
variables and wait channels. Possibly some kind of queue implementation, |
|
perhaps tied to thread ID. |
|
- perhaps consider some kind of object-oriented features? |
|
- possibly, model objects as threads. consider some mechanism for making |
|
"method calls" - ie directing a thread to execute a function. This could |
|
be as simple as a queue and dispatcher model. |
|
- improved and better defined syntax and semantics |
|
- arrays |
|
|
|
Compiler features |
|
- better type analysis |
|
- intermediate code |
|
- attributes on nodes to hold information such as type information |
|
- data flow analysis |
|
- liveness analysis |
|
- optimisation |
|
- better code generation |
|
- simplify code generator |
|
|
|
Interpreter |
|
- command console |
|
- ability to launch threads |
|
- ability to issue commands |
|
- Priorities |
|
- Pre-emptive scheduling |
|
- Locking/synchronisation primitives |
|
|
|
Debugger |
|
- breakpoints |
|
- watchpoints |
|
- single-step |
|
- concurrency model |
|
|
|
Future pipedreams |
|
- implement plugins as .so |
|
- sufficiently generic DMX API to allow arbitrary DMX hardware |
|
- generic DSP engine configurable from within lightscript |
|
|
|
Library functions |
|
- implement common patterns as library functions |
|
- show manager |
|
- chasers |
|
- cuesheet |
|
- moving light effects |
|
- disco system |
|
- mood selector |
|
- lighting console I/O and menus |
|
- generic fixture control |
|
|
|
IDE |
|
- drag and drop objects to create shows using standard library functions |
|
- integrated editor |
|
- integrated compile and load into interpreter |
|
- create a simple show in 5 minutes
|
|
|