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
> >> > >
> >> > >
> >> > >
> >> >
> >>
> >
> >
>

Reply via email to