On Thu, May 28, 2015 at 11:00 AM, Josh Tynjala <joshtynj...@gmail.com>
wrote:

> Well, the original plan of matching TypeScript's output is fine with me. I
> didn't mean to confuse you by throwing something extra in there. I haven't
> looked as closely at Babel, but I heard good things. I figured knowledge of
> Babel would be good to have around to sanity check things in case
> TypeScript's output had unexpected issues.
>

Yeah one of them that I wouldn't have caught early on would be accessors
support.

Well for now, I will match TypeScripts output and we can use Bable's way of
calling super on accessors. I will just make sure to leave it swappable, or
try to, sometimes with AST walking things get spider webed quick, which I
am going to try and avoid by using more composition.

If this intrigues you enough to start writing a framework, :) we can nail
the details later.

Did you see ALex's question to you about goog dependencies and if you had a
problem with that?

Mike




>
> - Josh
> On May 28, 2015 7:47 AM, "Michael Schmalle" <teotigraphix...@gmail.com>
> wrote:
>
> > 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
> > > > > > >> > >
> > > > > > >> > >
> > > > > > >> > >
> > > > > > >> >
> > > > > > >>
> > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to