Perl is dynamic
Adaptation to change
A technical solution : localized "open source"
The result and the possible uses
Present stage and planning
Here are the features of the current editor module :
- syntax highlighting but without context (each line is considered alone)
- multi-thread by simple method calls
- graphic user interface not tightly linked to the module (adaptation to console planned)
- not sensitive to the size of the edited file
The editor program that uses the module adds the following features :
- macro langage : perl
- dynamic placement in the code that displays messages or warnings during execution
- perl program start from the editor
- session management
What is planned for version 1.0, perhaps for the end of 2009 :
- slides management (vertical and horizontal)
- context management in syntax highlighting
- ...still a lot of bugs to fix, but a lot of them will remain.
Vital problems to solve in future versions :
- memory leaks
- object inheritance
Dynamic software generator
Some tests made in august 2006 showed me how dynamic softwares can be enjoyable and powerful :
Code modification on the fly and immediate behavior change without a restart : any perl programmer can make this
kind of test with an eval.
Unhappily, I had to know the exact file that perl was "evaluating" and I had to use an external editor to modify the code.
An automodifiable software is realistic only with an editor written with the same langage as the software.
Generator will then come after the editor. We can imagine a simplified version in 2009, and, let's be crazy, a modifiable
software done with it in 2010...
Development speed and delivery dates
At the beginning, I believed I would have finished an editor at the end of 2008. But, starting to write documentation, I understand better the huge task
still to be done. Actually, I had 2 possibilities :
With the few provided explanations and the already existing demos in "Editor.pl" program, it's no use any more to make demo versions. You may surely imagine now
the great benefits in term of productivity and usability that dynamic programming could bring.
- have quickly done a half-working editor to use it as soon as possible in a half-working generator
- try to make something else than demo versions