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.
77 lines
2.4 KiB
77 lines
2.4 KiB
18 years ago
|
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
|