Every program written in Silver goes through a start up phase calling three
initialization functions.
Some of this functionality could be factored out until later, if we made a few
improvements. Here are a few general ideas:
* Move information out of static lists, and into functions that are invoked. (Major culprit: the types array stored for each production/function.) That way, this code doesn't need to run when the class is initialized.
* Move "debugging information" OUT of early start up. (Major culprit: names of attributes arrays. We could hold off on initializing this information until, say, an exception is thrown, call it then, and THEN have that information available to give better exception messages, etc.)
* Fix autocopy behavior, so we don't need that nasty `applyDecorator` business.
Basically, cut initialization down to array index computations and Lazy array
filling.
Original issue reported on code.google.com by tux...@gmail.com on 29 Jan 2013 at 10:47
Original issue reported on code.google.com by
tux...@gmail.com
on 29 Jan 2013 at 10:47