I would prefer not to have that dependency, but if it helps us avoid some
sticky issues that will slow you down, then let's keep using it for now.
Focusing on the big picture seems more important right now, and we can
clean things up later.

- Josh
On May 28, 2015 8:09 AM, "Michael Schmalle" <teotigraphix...@gmail.com>
wrote:

> 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