Browse Source

Add TODO file

master
Gavan Fantom 17 years ago
parent
commit
37276bcc35
  1. 78
      src/lsi/TODO

78
src/lsi/TODO

@ -0,0 +1,78 @@
ABI spec file
- script to create suitable declaration files
- check ABI version on load
- 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
Loading…
Cancel
Save