Sounds good for SWF8, just support .lzo, but dont' invest any extra
time into that runtime. Would be GREAT to have .lzo support in both
SWF9/DHTML!!
On Oct 7, 2009, at 3:38 PM, Max Carlson wrote:
I agree - let's do the least-effort way for now, and hope swf8 can
be phased out relatively soon!
P T Withington wrote:
I think the question is whether to keep supporting swf8 the way it
currently is (where it's code generator is mostly a duplicate of
the new way) or to try to integrate it into the new way (which
would mean re-modularizing the existing code generator). I tend
toward the former, as it is a least-effort, because I assume swf8
will eventually be phased out. OTOH, if you think swf8 will have
to be maintained for a long time, the latter approach would be less
effort in the long run (although more up front).
On 2009-10-07, at 04:41, Max Carlson wrote:
This sounds like a fine plan - and a great way to clean up the
compiler and make it easier to support other runtimes in the
future. One comment: we'll need to support swf8 for a while
because some of our biggest users require it.
P T Withington wrote:
Currently our .lzo technology which allows you to write a
compressed, linkable library from a library of LZX, only works
for the swf8 platform. We'd like to make this technology work
across all platforms.
Here's a rough sketch of how I plan to do this:
Make a new subclass of JavascriptGenerator, DHTMLGenerator, and
move the JS1-specific transforms into that subclass.
DHTMLGenerator will be parallel to SWF9Generator, which is
already a subclass of JavascriptGenerator. There may be some
simplifications I can make there, because some of the methods of
SWF9Generator are just there to undo JS1-specific transforms that
shouldn't have been in the superclass in the first place.
[If we wanted to continue to maintain swf8 as a platform, it
would make sense to make a new subclass of JavascriptGenerator,
SWF8Generator, and move only the byte-code generation from
CodeGenerator to there, leaving behind the duplicate platform-
independent tranformations that are in CodeGenerator.]
Once JavascriptGenerator is not longer making platform-specific
transformations, make another subclass, LZSGenerator, that
generates the script portion of .lzo's. This will output to the
'lzs' platform, the extended Javascript that our script compiler
takes as an input. It will also handle the minimizing of
internal variable names and the compression of the output.
Comments and input welcome.
--
Regards,
Max Carlson
OpenLaszlo.org
--
Regards,
Max Carlson
OpenLaszlo.org