Originally at 2014-05-18T11:06:10Z by Herbert Vojčík
For the moment, amberc needs to get .st flles in dependency order, otherwise it compiles lots of classes as subclasses of nil.
It would be great if the amberc finds out the dependencies itself / uses superclass names lazily / whatever else to be able to just get the list of all files to compile and compile them correctly.
Implementation ideas: for this to run, .st files should be probably read by different chunk format reader than is there now, which would just parse (and reason on the result) the chunks instead of running them. This way in phase 1 .st files could be examined for classes they define, classes they subclass and classes they extend, and this can be used to create a dependency order in which they can be compiled. As an added value, nil subclass: possibly missing dependency could be correctly detected, not just guessed.
Originally at 2014-05-18T11:06:10Z by Herbert Vojčík
For the moment, amberc needs to get .st flles in dependency order, otherwise it compiles lots of classes as subclasses of nil.
It would be great if the amberc finds out the dependencies itself / uses superclass names lazily / whatever else to be able to just get the list of all files to compile and compile them correctly.
Implementation ideas: for this to run, .st files should be probably read by different chunk format reader than is there now, which would just parse (and reason on the result) the chunks instead of running them. This way in phase 1 .st files could be examined for classes they define, classes they subclass and classes they extend, and this can be used to create a dependency order in which they can be compiled. As an added value, `nil subclass: possibly missing dependency` could be correctly detected, not just guessed.
For properly load .js files in dependency order, requirejs would probably need to be used (configured using config.js; extracted into own #1183). This also means, libraries should probably be listed using their full module names (not just by in-Amber package names).
This also means integration of #1071 will probably be easier.
as it is already implemented. Also changed title, as now only .st needs auto-dependency.
Removed this part:
> For properly load .js files in dependency order, requirejs would probably need to be used (configured using `config.js`; extracted into own #1183). This also means, libraries should probably be listed using their full module names (not just by in-Amber package names).
>
> This also means integration of #1071 will probably be easier.
as it is already implemented. Also changed title, as now only .st needs auto-dependency.
Originally at 2014-05-18T11:06:10Z by Herbert Vojčík
For the moment, amberc needs to get .st flles in dependency order, otherwise it compiles lots of classes as subclasses of nil.
It would be great if the amberc finds out the dependencies itself / uses superclass names lazily / whatever else to be able to just get the list of all files to compile and compile them correctly.
Implementation ideas: for this to run, .st files should be probably read by different chunk format reader than is there now, which would just parse (and reason on the result) the chunks instead of running them. This way in phase 1 .st files could be examined for classes they define, classes they subclass and classes they extend, and this can be used to create a dependency order in which they can be compiled. As an added value,
nil subclass: possibly missing dependency
could be correctly detected, not just guessed.Important and long overdue.
Removed this part:
as it is already implemented. Also changed title, as now only .st needs auto-dependency.