#1012 amberc: find out the dependencies in .st files itself

Open
opened 8 years ago by nero · 2 comments

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.
Herby Vojčík commented 7 years ago
Owner

Important and long overdue.

Important and long overdue.
Herby Vojčík commented 4 years ago
Owner

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.

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.
Sign in to join this conversation.
No Label
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.