Well see Josh, I am good at writing cross compilers but have spent hardly any time understanding all the nuances of javascript.
Each time I have written this thing, I have had a spec given to me by others that I made work. So I am kind of looking for that spec here so I have something concrete to generate. I don't have enough experience to know what it should be for the needs of a proper javascript impl and actionscript cross compile. Mike On Thu, May 28, 2015 at 10:34 AM, Josh Tynjala <joshtynj...@gmail.com> wrote: > Yeah, the ES5 output. While I think the output looks good from TypeScript, > I figured it wouldn't hurt to point out an alternative. I'm sure it's > pretty similar, but when it comes to the little details, you might see > something there that you like better. > > - Josh > On May 27, 2015 4:01 PM, "Michael Schmalle" <teotigraphix...@gmail.com> > wrote: > > > So basically your saying the output of ES5 from Babel? > > > > Mike > > > > On Wed, May 27, 2015 at 6:47 PM, Josh Tynjala <joshtynj...@gmail.com> > > wrote: > > > > > You might also consider looking at the output of Babel. Babel > transpiles > > > ECMAScript 6 back to older versions of the language that are more > widely > > > supported today. TypeScript is trying to be a superset of ES6, so it > > should > > > be pretty similar. > > > > > > http://babeljs.io > > > > > > - Josh > > > > > > On Wed, May 27, 2015 at 2:23 PM, Michael Schmalle < > > > teotigraphix...@gmail.com > > > > wrote: > > > > > > > Ok Update. > > > > > > > > I have been researching TypeScript and it's output, this is what I am > > > > doing. For some reason this "just" makes sense to me and the are > 100's > > of > > > > examples I can use to test the code generation against. > > > > > > > > Josh, I would say if you want to start experimenting with your > > framework, > > > > use what you just showed me as a base and I can meet you in the > middle, > > > > then we can figure our the quirks together. > > > > > > > > I will/am start/ing working on this ASAP. > > > > > > > > Mike > > > > > > > > On Wed, May 27, 2015 at 4:54 PM, Michael Schmalle < > > > > teotigraphix...@gmail.com > > > > > wrote: > > > > > > > > > Ok, > > > > > > > > > > I am a doer... :) Since this is all POC right now and I am up to > > learn > > > > > some JS, I will use this as a format. I have done this JSEmitter 2 > > > times > > > > > now so the 3rd isn't going to be that hard, maybe the charm for me > > to. > > > > > > > > > > Note, most of the expressions and statements are already done. As > > > noted, > > > > > inheritance, scope and set/get always are the pains but if I have a > > > > target > > > > > output protocol like TypeScript's output, why not emulate it. > > > > > > > > > > Alex, I know what you are thinking... Don't. :) My gut feeling is, > > if I > > > > > start from the ground up and have NO dependencies on anything, I > will > > > do > > > > > this twice as fast. I am very good at refactoring so once I have > > tests > > > > > working on the generated .js, we can see what could be abstracted > to > > > and > > > > > from this emitter and FlexJS. > > > > > > > > > > I really think for my own sanity, I need to start in isolation and > > not > > > > get > > > > > in FlexJS's way either, that is another pro for me, no commit > > > conflicts, > > > > > nothing of that nature. > > > > > > > > > > Thoughts Josh, Alex? > > > > > > > > > > Mike > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, May 27, 2015 at 4:40 PM, Josh Tynjala < > joshtynj...@gmail.com > > > > > > > > wrote: > > > > > > > > > >> When I played with TypeScript, I loved that I could subclass > > CreateJS > > > > >> prototypes very easily. As long as something like that is possible > > > from > > > > >> ActionScript (assuming I could provide a SWC or something for > > CreateJS > > > > or > > > > >> whichever library I want to use), I don't have too strong of an > > > opinion > > > > on > > > > >> how the final JavaScript looks. > > > > >> > > > > >> I'll just say that I like the clean code that the TypeScript > > compiler > > > > >> outputs. To me, it looked pretty much like what I might write > > > manually, > > > > if > > > > >> I were using vanilla JavaScript. Looking at the TypeScript > > playground, > > > > the > > > > >> Inheritance example and the Modules example both look very nice. > > > > >> > > > > >> http://www.typescriptlang.org/Playground > > > > >> > > > > >> - Josh > > > > >> > > > > >> On Wed, May 27, 2015 at 12:02 PM, Michael Schmalle < > > > > >> teotigraphix...@gmail.com> wrote: > > > > >> > > > > >> > On Wed, May 27, 2015 at 2:50 PM, Alex Harui <aha...@adobe.com> > > > wrote: > > > > >> > > > > > >> > > New thread: > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > On 5/27/15, 9:52 AM, "Michael Schmalle" < > > > teotigraphix...@gmail.com> > > > > >> > wrote: > > > > >> > > > > > > >> > > >Well, when I said "teach" I just meant getting into the code. > > > > >> Really, I > > > > >> > > >know the base part of the compiler and the walker/visitor > > > framework > > > > >> well > > > > >> > > >;-), so getting FalconJX to use an HTML.swc would be exactly > > > what I > > > > >> am > > > > >> > > >looking for to do. > > > > >> > > > > > > > >> > > >This is where you can keep doing what you are good at and I > can > > > > work > > > > >> on > > > > >> > > >what I am good at(code rendering). > > > > >> > > > > > > > >> > > >Can I ask you to start another thread and outline what you > see > > > > needs > > > > >> to > > > > >> > be > > > > >> > > >done to accomplish what is in your mind dealing with FalconJX > > and > > > > the > > > > >> > > >HTML.swc? If you can just brainstorm, then I can ask you > > > questions > > > > to > > > > >> > fill > > > > >> > > >in the gaps that I am not seeing. > > > > >> > > > > > > > >> > > > > > > >> > > As I see it, FalconJX should just be able to grab some SWCs > and > > > > >> > > cross-compile some AS based on definitions in the SWCs. Right > > now > > > > we > > > > >> > feed > > > > >> > > it playerglobal/airglobal and FlexJS swcs with UIBase widgets, > > but > > > > in > > > > >> > > theory, as Josh suggests we should be able to replace those > SWCs > > > > with > > > > >> > just: > > > > >> > > > > > > >> > > jsglobal.swc: > > > > >> > > Object > > > > >> > > Number > > > > >> > > String > > > > >> > > <what else>? > > > > >> > > > > > > >> > > HTML.swc: > > > > >> > > Window > > > > >> > > Event > > > > >> > > UIEvent > > > > >> > > MouseEvent > > > > >> > > HTMLElement > > > > >> > > etc. > > > > >> > > > > > > >> > > > > > > >> > See for HTML lib, Roland used WebIDL parser to create it; > > > > >> > > > > > >> > > > > > > https://github.com/RandoriAS/randori-libraries/tree/master/HTMLCoreLib > > > > >> > > > > > >> > The builtin.swc we made; > > > > >> > > > > > >> > > > > > > https://github.com/RandoriAS/randori-tools/tree/develop/RandoriBuiltin > > > > >> > > > > > >> > Read the README, does this violate anything? > > > > >> > > > > > >> > > > > > >> > > > > > >> > > Then folks should be able to test drive FalconJX by running > some > > > AS > > > > >> > > through it to get any JS they normally use in their web apps, > > and > > > we > > > > >> > > should be able to stop writing any JS at all. All files in > > > > flex-asjs > > > > >> > that > > > > >> > > are currently .JS files should be able to be written in AS and > > > > >> > > cross-compiled with only those two SWCs. I can tell you that > it > > > > would > > > > >> > > probably have saved us much time if we had this already. It > is > > > > >> painful > > > > >> > > doing .JS code simply in the writing of ‘this.’ and > ‘prototype’. > > > > >> > > > > > > >> > > > > > >> > Yeah, not to mention compile time checking. :) > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > > >> > > Anyway, that’s as far as I’ve thought on this subject. As you > > > said > > > > in > > > > >> > > another thread this is where we’d have to prove there are no > > > > >> hard-coded > > > > >> > > dependencies in Falcon/FalconJX on playerglobal/airglobal. > > > > >> > > > > > > >> > > > > > >> > > > > > >> > See the above links and give feedback on what you think. > > > > >> > > > > > >> > > > > > >> > > > > > > >> > > OK, one more thought: there may be reverse-engineering issues > > > about > > > > >> > > replacing playerglobal/airglobal, but I was hoping we might > find > > > > some > > > > >> > > Tamarin code laying around that has what we’d start with for > > > > >> > jsglobal.swc. > > > > >> > > > > > > >> > > > > > >> > I think this is what Roland actually did, I know he found it > some > > > > >> where(how > > > > >> > to build the builtin.swc Randori used). > > > > >> > > > > > >> > > > > > >> > Question; So the code style, you said we might use the FlexJS > > > emitter > > > > >> but I > > > > >> > don't see how that is possible since it's not a vanilla emitter. > > > > >> > > > > > >> > It seems to me I need to know the exact code style that a > vanilla > > > > >> > transpiler will create and I can make that emitter as another > > > backend, > > > > >> what > > > > >> > do you think? > > > > >> > > > > > >> > @Josj you have any thoughts? I am ready to start writing it. :) > > > > >> > > > > > >> > Mike > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > > >> > > -Alex > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > > > > > > > > > > > > > > > > >