Re: Check is something is Class or instance in Royale

2018-10-07 Thread Carlos Rovira
While I'm pro PAYG, I think Language is for me a very internal piece, and
for users will be even more. So we should think as well if in cases like
this we should just implement all the cases since doesn't seems to me more
than what we are talking here, even if we get 2-3 more, I think will be
worth it to not make it more complex. Think that Royale is already complex
for people coming, so between making a pluggable system at Language level
or implement 2-3 more cases, my recommendation is to go for the second.

About what to do, I must say this is not my field, so. I left to Alex or
Harbs do what they think is better. My only thinking is that not having
"Class" around will be strange for any one coming from flash/flex/as3
background, so I bet for have that although it implies few bytes more. I
think is worth it. If the cost will much more I think we could think it
more, but for me is like having Array, Object, String and moreis just
something core in the language.

just my 2ctns...

Carlos


El dom., 7 oct. 2018 a las 16:52, Alex Harui ()
escribió:

> If Language.is needs other handling, maybe it is worth implementing some
> sort of plug-in model for it so folks can alter what it does to suit their
> needs.
>
> Where possible, we want the runtime code to handle PAYG/Just-in-case
> issues.  The compiler's job is really to transpile a syntax tree and not
> generate as much special case code.  The compiler must generate different
> code for e4x since type information is lost at runtime.  For Language.is,
> we don't want the compiler to generate a lengthy run of code that tries to
> handle all of these cases.
>
> Somewhere in the middle is the option is the option of breaking
> Language.is into tests for primitive types, so add a Language.isBoolean,
> Language.isArray, Language.isClass, and leave Language.is for non-primitive
> types.
>
> My 2 cents,
> -Alex
>
> On 10/7/18, 12:05 AM, "Harbs"  wrote:
>
> I think”is Array” should be rewritten to Array.isArray() in the
> compiler.
>
> Some time back, I added some comments to Language.is expressing some
> possible improvements there. I also highlighted a bug where “new
> String(“foo”)” new Number(2) and new Boolean(false) will get wrong results.
> (I don’t know how much something like that is used in the wild…)
>
> HTH,
> Harbs
>
> > On Oct 7, 2018, at 9:28 AM, Alex Harui 
> wrote:
> >
> > Ah yes, Class is currently in missing.js in typedefs because so far
> nobody needed it at runtime.
> >
> > I kind of wish we could avoid creating a dummy Class and having it
> linked into every app via Language.is <
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Flanguage.is%2Fdata=02%7C01%7Caharui%40adobe.com%7Cc98391dd9c7c4b5f7e7708d62c234b6e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636744927457344736sdata=Q5GxCw%2BR4C6ehRnwRg7cX39Swab2VBrGdtnj7Z%2F0Zxc%3Dreserved=0>
> even thought it will only be around 20 bytes.
> > We could require a bead that injects the definition so folks can
> opt-in as needed.
> > We could have a plugin-scheme in Language-is so you can mixin more
> tests if you need it.  Right now it tests for Array which might be
> just-in-case code.
> >
> > Thoughts?
> > -Alex
> >
> > On 10/6/18, 9:51 AM, "Carlos Rovira"  > wrote:
> >
> >Hi Piotr,
> >
> >I think the problem is more about what to do with "Class" since
> is valid in
> >AS3 and we need proper transpiler to SWF, JS...
> >Right now in JS Class is not know
> >
> >[Error] ReferenceError: Can't find variable: Class=
> >
> >As I posted in the first email, I can workaround with
> >
> >typeof myFunc === 'function'
> >
> >I think this could work for both cases, or maybe the solution you
> posted (I
> >didn't try it)
> >
> >But the use case comes from trying to compile an existing Flex
> AS3 library
> >with Royale, so we'll find "Class" keyword many times out there,
> so I think
> >is worth it trying to solve at compiler/Language level.
> >
> >Thanks Piotr for the suggestion
> >
> >Carlos
> >
> >
> >
> >El sáb., 6 oct. 2018 a las 15:49, Piotr Zarzycki (<
> piotrzarzyck...@gmail.com>)
> >escribió:
> >
> >> In the other words you are interested whether there is an object
> not a
> >> simple type? That's what I mean.
> >>
> >> Why not if (are[0] is object) - does it not cover all of the cases?
> >>
> >>
> >> On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira  >
> >> wrote:
> >>
> >>> No, arr[0] has an instance of a custom typed object.
> >>>
> >>> El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
> >>> piotrzarzyck...@gmail.com>)
> >>> escribió:
> >>>
>  Hi Carlos,
> 
>  Are you trying to distinguish something from simple type by that
> 

Re: Check is something is Class or instance in Royale

2018-10-07 Thread Alex Harui
If Language.is needs other handling, maybe it is worth implementing some sort 
of plug-in model for it so folks can alter what it does to suit their needs.

Where possible, we want the runtime code to handle PAYG/Just-in-case issues.  
The compiler's job is really to transpile a syntax tree and not generate as 
much special case code.  The compiler must generate different code for e4x 
since type information is lost at runtime.  For Language.is, we don't want the 
compiler to generate a lengthy run of code that tries to handle all of these 
cases.

Somewhere in the middle is the option is the option of breaking Language.is 
into tests for primitive types, so add a Language.isBoolean, Language.isArray, 
Language.isClass, and leave Language.is for non-primitive types.

My 2 cents,
-Alex

On 10/7/18, 12:05 AM, "Harbs"  wrote:

I think”is Array” should be rewritten to Array.isArray() in the compiler.

Some time back, I added some comments to Language.is expressing some 
possible improvements there. I also highlighted a bug where “new String(“foo”)” 
new Number(2) and new Boolean(false) will get wrong results. (I don’t know how 
much something like that is used in the wild…)

HTH,
Harbs

> On Oct 7, 2018, at 9:28 AM, Alex Harui  wrote:
> 
> Ah yes, Class is currently in missing.js in typedefs because so far 
nobody needed it at runtime.
> 
> I kind of wish we could avoid creating a dummy Class and having it linked 
into every app via Language.is 

 even thought it will only be around 20 bytes.
> We could require a bead that injects the definition so folks can opt-in 
as needed.
> We could have a plugin-scheme in Language-is so you can mixin more tests 
if you need it.  Right now it tests for Array which might be just-in-case code.
> 
> Thoughts?
> -Alex
> 
> On 10/6/18, 9:51 AM, "Carlos Rovira" mailto:carlosrov...@apache.org>> wrote:
> 
>Hi Piotr,
> 
>I think the problem is more about what to do with "Class" since is 
valid in
>AS3 and we need proper transpiler to SWF, JS...
>Right now in JS Class is not know
> 
>[Error] ReferenceError: Can't find variable: Class=
> 
>As I posted in the first email, I can workaround with
> 
>typeof myFunc === 'function'
> 
>I think this could work for both cases, or maybe the solution you 
posted (I
>didn't try it)
> 
>But the use case comes from trying to compile an existing Flex AS3 
library
>with Royale, so we'll find "Class" keyword many times out there, so I 
think
>is worth it trying to solve at compiler/Language level.
> 
>Thanks Piotr for the suggestion
> 
>Carlos
> 
> 
> 
>El sáb., 6 oct. 2018 a las 15:49, Piotr Zarzycki 
()
>escribió:
> 
>> In the other words you are interested whether there is an object not a
>> simple type? That's what I mean.
>> 
>> Why not if (are[0] is object) - does it not cover all of the cases?
>> 
>> 
>> On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira 
>> wrote:
>> 
>>> No, arr[0] has an instance of a custom typed object.
>>> 
>>> El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
>>> piotrzarzyck...@gmail.com>)
>>> escribió:
>>> 
 Hi Carlos,
 
 Are you trying to distinguish something from simple type by that
>>> if(arr[0]
 is Class) ? By simple type I mean String, Boolean?
 
 Piotr
 
 On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
 wrote:
 
> Hi Alex,
> 
> I'm very new to Language.as, so I'll try to do my best.
> 
> I'm trying to add to Language.as "is" function this:
> 
> if(rightOperand === Class) {
>return typeof leftOperand === 'function';
>}
> 
> the test case is :
> 
> var arr:Array = [main]; //main is a container declared in MXML, so is
>>> not
> class is an instance
> if(arr[0] is Class)
> {
> trace("is Class");
> } else
> {
> trace("is NOT Class"); // I expect to get this trace
> }
> 
> but browser reports:
> 
> [Error] ReferenceError: Can't find variable: Class is
>> (Language.js:147)
> 
> So first point to solve is how to deal with "Class", since is not
> recognized at javascript level. Seems to me that "Class" should be
>>> solved
> at compiler level?
> 
> Thanks
> 
> 
  

Re: Check is something is Class or instance in Royale

2018-10-07 Thread Harbs
I think”is Array” should be rewritten to Array.isArray() in the compiler.

Some time back, I added some comments to Language.is expressing some possible 
improvements there. I also highlighted a bug where “new String(“foo”)” new 
Number(2) and new Boolean(false) will get wrong results. (I don’t know how much 
something like that is used in the wild…)

HTH,
Harbs

> On Oct 7, 2018, at 9:28 AM, Alex Harui  wrote:
> 
> Ah yes, Class is currently in missing.js in typedefs because so far nobody 
> needed it at runtime.
> 
> I kind of wish we could avoid creating a dummy Class and having it linked 
> into every app via Language.is  even thought it will 
> only be around 20 bytes.
> We could require a bead that injects the definition so folks can opt-in as 
> needed.
> We could have a plugin-scheme in Language-is so you can mixin more tests if 
> you need it.  Right now it tests for Array which might be just-in-case code.
> 
> Thoughts?
> -Alex
> 
> On 10/6/18, 9:51 AM, "Carlos Rovira"  > wrote:
> 
>Hi Piotr,
> 
>I think the problem is more about what to do with "Class" since is valid in
>AS3 and we need proper transpiler to SWF, JS...
>Right now in JS Class is not know
> 
>[Error] ReferenceError: Can't find variable: Class=
> 
>As I posted in the first email, I can workaround with
> 
>typeof myFunc === 'function'
> 
>I think this could work for both cases, or maybe the solution you posted (I
>didn't try it)
> 
>But the use case comes from trying to compile an existing Flex AS3 library
>with Royale, so we'll find "Class" keyword many times out there, so I think
>is worth it trying to solve at compiler/Language level.
> 
>Thanks Piotr for the suggestion
> 
>Carlos
> 
> 
> 
>El sáb., 6 oct. 2018 a las 15:49, Piotr Zarzycki 
> ()
>escribió:
> 
>> In the other words you are interested whether there is an object not a
>> simple type? That's what I mean.
>> 
>> Why not if (are[0] is object) - does it not cover all of the cases?
>> 
>> 
>> On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira 
>> wrote:
>> 
>>> No, arr[0] has an instance of a custom typed object.
>>> 
>>> El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
>>> piotrzarzyck...@gmail.com>)
>>> escribió:
>>> 
 Hi Carlos,
 
 Are you trying to distinguish something from simple type by that
>>> if(arr[0]
 is Class) ? By simple type I mean String, Boolean?
 
 Piotr
 
 On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
 wrote:
 
> Hi Alex,
> 
> I'm very new to Language.as, so I'll try to do my best.
> 
> I'm trying to add to Language.as "is" function this:
> 
> if(rightOperand === Class) {
>return typeof leftOperand === 'function';
>}
> 
> the test case is :
> 
> var arr:Array = [main]; //main is a container declared in MXML, so is
>>> not
> class is an instance
> if(arr[0] is Class)
> {
> trace("is Class");
> } else
> {
> trace("is NOT Class"); // I expect to get this trace
> }
> 
> but browser reports:
> 
> [Error] ReferenceError: Can't find variable: Class is
>> (Language.js:147)
> 
> So first point to solve is how to deal with "Class", since is not
> recognized at javascript level. Seems to me that "Class" should be
>>> solved
> at compiler level?
> 
> Thanks
> 
> 
> El vie., 5 oct. 2018 a las 23:11, Alex Harui
>> ( )
> escribió:
> 
>> Hi Carlos,
>> 
>> Use of "is" is transpiled into a call to Language.is.  I think
> Language.is
>> should special case the test for Class.  Try updating Language.is
>> and
 see
>> if that is what you need.
>> 
>> -Alex
>> 
>> On 10/5/18, 11:13 AM, "Carlos Rovira" 
 wrote:
>> 
>>Hi,
>> 
>>in js, check if something is a class or is an instance is like
>>> this
> [1]
>> 
>>typeof myFunc === 'function'
>> 
>>In Royale since we are using AS3, doing
>> 
>>if(something is Class)
>>do this
>>else
>>   do that
>> 
>>should work either for SWF and for JS, but seems is not the
>> case.
>>I must make two codes COMPILE::SWF (with "is Class") and
 COMPILE::JS
>> (with
>>typeof ... ==='function')
>> 
>>Could we have this abstracted by compiler?
>> 
>>Thanks
>> 
>>[1]
>> 
>> 
> 
 
>>> 
>> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Cc7db54e53e2f46a7432c08d62babed31%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636744414790781943sdata=2KNNPEaX%2FIZKqlka8uMpiawbfAQDiRSi99nCnMU64eU%3Dreserved=0
>>  
>> 

Re: Check is something is Class or instance in Royale

2018-10-07 Thread Alex Harui
Ah yes, Class is currently in missing.js in typedefs because so far nobody 
needed it at runtime.

I kind of wish we could avoid creating a dummy Class and having it linked into 
every app via Language.is even thought it will only be around 20 bytes.
We could require a bead that injects the definition so folks can opt-in as 
needed.
We could have a plugin-scheme in Language-is so you can mixin more tests if you 
need it.  Right now it tests for Array which might be just-in-case code.

Thoughts?
-Alex

On 10/6/18, 9:51 AM, "Carlos Rovira"  wrote:

Hi Piotr,

I think the problem is more about what to do with "Class" since is valid in
AS3 and we need proper transpiler to SWF, JS...
Right now in JS Class is not know

[Error] ReferenceError: Can't find variable: Class=

As I posted in the first email, I can workaround with

typeof myFunc === 'function'

I think this could work for both cases, or maybe the solution you posted (I
didn't try it)

But the use case comes from trying to compile an existing Flex AS3 library
with Royale, so we'll find "Class" keyword many times out there, so I think
is worth it trying to solve at compiler/Language level.

Thanks Piotr for the suggestion

Carlos



El sáb., 6 oct. 2018 a las 15:49, Piotr Zarzycki 
()
escribió:

> In the other words you are interested whether there is an object not a
> simple type? That's what I mean.
>
> Why not if (are[0] is object) - does it not cover all of the cases?
>
>
> On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira 
> wrote:
>
> > No, arr[0] has an instance of a custom typed object.
> >
> > El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
> > piotrzarzyck...@gmail.com>)
> > escribió:
> >
> > > Hi Carlos,
> > >
> > > Are you trying to distinguish something from simple type by that
> > if(arr[0]
> > > is Class) ? By simple type I mean String, Boolean?
> > >
> > > Piotr
> > >
> > > On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
> > > wrote:
> > >
> > > > Hi Alex,
> > > >
> > > > I'm very new to Language.as, so I'll try to do my best.
> > > >
> > > > I'm trying to add to Language.as "is" function this:
> > > >
> > > > if(rightOperand === Class) {
> > > > return typeof leftOperand === 'function';
> > > > }
> > > >
> > > > the test case is :
> > > >
> > > > var arr:Array = [main]; //main is a container declared in MXML, so 
is
> > not
> > > > class is an instance
> > > > if(arr[0] is Class)
> > > > {
> > > > trace("is Class");
> > > > } else
> > > > {
> > > > trace("is NOT Class"); // I expect to get this trace
> > > > }
> > > >
> > > > but browser reports:
> > > >
> > > > [Error] ReferenceError: Can't find variable: Class is
> (Language.js:147)
> > > >
> > > > So first point to solve is how to deal with "Class", since is not
> > > > recognized at javascript level. Seems to me that "Class" should be
> > solved
> > > > at compiler level?
> > > >
> > > > Thanks
> > > >
> > > >
> > > > El vie., 5 oct. 2018 a las 23:11, Alex Harui
> ( > > >)
> > > > escribió:
> > > >
> > > > > Hi Carlos,
> > > > >
> > > > > Use of "is" is transpiled into a call to Language.is.  I think
> > > > Language.is
> > > > > should special case the test for Class.  Try updating Language.is
> and
> > > see
> > > > > if that is what you need.
> > > > >
> > > > > -Alex
> > > > >
> > > > > On 10/5/18, 11:13 AM, "Carlos Rovira" 
> > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > in js, check if something is a class or is an instance is like
> > this
> > > > [1]
> > > > >
> > > > > typeof myFunc === 'function'
> > > > >
> > > > > In Royale since we are using AS3, doing
> > > > >
> > > > > if(something is Class)
> > > > > do this
> > > > > else
> > > > >do that
> > > > >
> > > > > should work either for SWF and for JS, but seems is not the
> case.
> > > > > I must make two codes COMPILE::SWF (with "is Class") and
> > > COMPILE::JS
> > > > > (with
> > > > > typeof ... ==='function')
> > > > >
> > > > > Could we have this abstracted by compiler?
> > > > >
> > > > > Thanks
> > > > >
> > > > > [1]
> > > > >
> > > > >
> > > >
> > >
> >
> 

Re: Check is something is Class or instance in Royale

2018-10-06 Thread Carlos Rovira
Hi Piotr,

I think the problem is more about what to do with "Class" since is valid in
AS3 and we need proper transpiler to SWF, JS...
Right now in JS Class is not know

[Error] ReferenceError: Can't find variable: Class=

As I posted in the first email, I can workaround with

typeof myFunc === 'function'

I think this could work for both cases, or maybe the solution you posted (I
didn't try it)

But the use case comes from trying to compile an existing Flex AS3 library
with Royale, so we'll find "Class" keyword many times out there, so I think
is worth it trying to solve at compiler/Language level.

Thanks Piotr for the suggestion

Carlos



El sáb., 6 oct. 2018 a las 15:49, Piotr Zarzycki ()
escribió:

> In the other words you are interested whether there is an object not a
> simple type? That's what I mean.
>
> Why not if (are[0] is object) - does it not cover all of the cases?
>
>
> On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira 
> wrote:
>
> > No, arr[0] has an instance of a custom typed object.
> >
> > El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
> > piotrzarzyck...@gmail.com>)
> > escribió:
> >
> > > Hi Carlos,
> > >
> > > Are you trying to distinguish something from simple type by that
> > if(arr[0]
> > > is Class) ? By simple type I mean String, Boolean?
> > >
> > > Piotr
> > >
> > > On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
> > > wrote:
> > >
> > > > Hi Alex,
> > > >
> > > > I'm very new to Language.as, so I'll try to do my best.
> > > >
> > > > I'm trying to add to Language.as "is" function this:
> > > >
> > > > if(rightOperand === Class) {
> > > > return typeof leftOperand === 'function';
> > > > }
> > > >
> > > > the test case is :
> > > >
> > > > var arr:Array = [main]; //main is a container declared in MXML, so is
> > not
> > > > class is an instance
> > > > if(arr[0] is Class)
> > > > {
> > > > trace("is Class");
> > > > } else
> > > > {
> > > > trace("is NOT Class"); // I expect to get this trace
> > > > }
> > > >
> > > > but browser reports:
> > > >
> > > > [Error] ReferenceError: Can't find variable: Class is
> (Language.js:147)
> > > >
> > > > So first point to solve is how to deal with "Class", since is not
> > > > recognized at javascript level. Seems to me that "Class" should be
> > solved
> > > > at compiler level?
> > > >
> > > > Thanks
> > > >
> > > >
> > > > El vie., 5 oct. 2018 a las 23:11, Alex Harui
> ( > > >)
> > > > escribió:
> > > >
> > > > > Hi Carlos,
> > > > >
> > > > > Use of "is" is transpiled into a call to Language.is.  I think
> > > > Language.is
> > > > > should special case the test for Class.  Try updating Language.is
> and
> > > see
> > > > > if that is what you need.
> > > > >
> > > > > -Alex
> > > > >
> > > > > On 10/5/18, 11:13 AM, "Carlos Rovira" 
> > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > in js, check if something is a class or is an instance is like
> > this
> > > > [1]
> > > > >
> > > > > typeof myFunc === 'function'
> > > > >
> > > > > In Royale since we are using AS3, doing
> > > > >
> > > > > if(something is Class)
> > > > > do this
> > > > > else
> > > > >do that
> > > > >
> > > > > should work either for SWF and for JS, but seems is not the
> case.
> > > > > I must make two codes COMPILE::SWF (with "is Class") and
> > > COMPILE::JS
> > > > > (with
> > > > > typeof ... ==='function')
> > > > >
> > > > > Could we have this abstracted by compiler?
> > > > >
> > > > > Thanks
> > > > >
> > > > > [1]
> > > > >
> > > > >
> > > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=fdiolpGWQJihoZw2PfYLmoyckh1mDiynH8EbJXYIeog%3Dreserved=0
> > > > >
> > > > > --
> > > > > Carlos Rovira
> > > > >
> > > > >
> > > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=bwLXrUQ6N4syATPB8iEXL%2BnFZPQl9xhIndqwNbCShCo%3Dreserved=0
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > Carlos Rovira
> > > > http://about.me/carlosrovira
> > > >
> > >
> >
> >
> > --
> > Carlos Rovira
> > http://about.me/carlosrovira
> >
>


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Check is something is Class or instance in Royale

2018-10-06 Thread Piotr Zarzycki
In the other words you are interested whether there is an object not a
simple type? That's what I mean.

Why not if (are[0] is object) - does it not cover all of the cases?


On Sat, Oct 6, 2018, 2:48 PM Carlos Rovira  wrote:

> No, arr[0] has an instance of a custom typed object.
>
> El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki (<
> piotrzarzyck...@gmail.com>)
> escribió:
>
> > Hi Carlos,
> >
> > Are you trying to distinguish something from simple type by that
> if(arr[0]
> > is Class) ? By simple type I mean String, Boolean?
> >
> > Piotr
> >
> > On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
> > wrote:
> >
> > > Hi Alex,
> > >
> > > I'm very new to Language.as, so I'll try to do my best.
> > >
> > > I'm trying to add to Language.as "is" function this:
> > >
> > > if(rightOperand === Class) {
> > > return typeof leftOperand === 'function';
> > > }
> > >
> > > the test case is :
> > >
> > > var arr:Array = [main]; //main is a container declared in MXML, so is
> not
> > > class is an instance
> > > if(arr[0] is Class)
> > > {
> > > trace("is Class");
> > > } else
> > > {
> > > trace("is NOT Class"); // I expect to get this trace
> > > }
> > >
> > > but browser reports:
> > >
> > > [Error] ReferenceError: Can't find variable: Class is (Language.js:147)
> > >
> > > So first point to solve is how to deal with "Class", since is not
> > > recognized at javascript level. Seems to me that "Class" should be
> solved
> > > at compiler level?
> > >
> > > Thanks
> > >
> > >
> > > El vie., 5 oct. 2018 a las 23:11, Alex Harui ( > >)
> > > escribió:
> > >
> > > > Hi Carlos,
> > > >
> > > > Use of "is" is transpiled into a call to Language.is.  I think
> > > Language.is
> > > > should special case the test for Class.  Try updating Language.is and
> > see
> > > > if that is what you need.
> > > >
> > > > -Alex
> > > >
> > > > On 10/5/18, 11:13 AM, "Carlos Rovira" 
> > wrote:
> > > >
> > > > Hi,
> > > >
> > > > in js, check if something is a class or is an instance is like
> this
> > > [1]
> > > >
> > > > typeof myFunc === 'function'
> > > >
> > > > In Royale since we are using AS3, doing
> > > >
> > > > if(something is Class)
> > > > do this
> > > > else
> > > >do that
> > > >
> > > > should work either for SWF and for JS, but seems is not the case.
> > > > I must make two codes COMPILE::SWF (with "is Class") and
> > COMPILE::JS
> > > > (with
> > > > typeof ... ==='function')
> > > >
> > > > Could we have this abstracted by compiler?
> > > >
> > > > Thanks
> > > >
> > > > [1]
> > > >
> > > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=fdiolpGWQJihoZw2PfYLmoyckh1mDiynH8EbJXYIeog%3Dreserved=0
> > > >
> > > > --
> > > > Carlos Rovira
> > > >
> > > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=bwLXrUQ6N4syATPB8iEXL%2BnFZPQl9xhIndqwNbCShCo%3Dreserved=0
> > > >
> > > >
> > > >
> > >
> > > --
> > > Carlos Rovira
> > > http://about.me/carlosrovira
> > >
> >
>
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>


Re: Check is something is Class or instance in Royale

2018-10-06 Thread Carlos Rovira
No, arr[0] has an instance of a custom typed object.

El sáb., 6 oct. 2018 a las 10:58, Piotr Zarzycki ()
escribió:

> Hi Carlos,
>
> Are you trying to distinguish something from simple type by that if(arr[0]
> is Class) ? By simple type I mean String, Boolean?
>
> Piotr
>
> On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira 
> wrote:
>
> > Hi Alex,
> >
> > I'm very new to Language.as, so I'll try to do my best.
> >
> > I'm trying to add to Language.as "is" function this:
> >
> > if(rightOperand === Class) {
> > return typeof leftOperand === 'function';
> > }
> >
> > the test case is :
> >
> > var arr:Array = [main]; //main is a container declared in MXML, so is not
> > class is an instance
> > if(arr[0] is Class)
> > {
> > trace("is Class");
> > } else
> > {
> > trace("is NOT Class"); // I expect to get this trace
> > }
> >
> > but browser reports:
> >
> > [Error] ReferenceError: Can't find variable: Class is (Language.js:147)
> >
> > So first point to solve is how to deal with "Class", since is not
> > recognized at javascript level. Seems to me that "Class" should be solved
> > at compiler level?
> >
> > Thanks
> >
> >
> > El vie., 5 oct. 2018 a las 23:11, Alex Harui ( >)
> > escribió:
> >
> > > Hi Carlos,
> > >
> > > Use of "is" is transpiled into a call to Language.is.  I think
> > Language.is
> > > should special case the test for Class.  Try updating Language.is and
> see
> > > if that is what you need.
> > >
> > > -Alex
> > >
> > > On 10/5/18, 11:13 AM, "Carlos Rovira" 
> wrote:
> > >
> > > Hi,
> > >
> > > in js, check if something is a class or is an instance is like this
> > [1]
> > >
> > > typeof myFunc === 'function'
> > >
> > > In Royale since we are using AS3, doing
> > >
> > > if(something is Class)
> > > do this
> > > else
> > >do that
> > >
> > > should work either for SWF and for JS, but seems is not the case.
> > > I must make two codes COMPILE::SWF (with "is Class") and
> COMPILE::JS
> > > (with
> > > typeof ... ==='function')
> > >
> > > Could we have this abstracted by compiler?
> > >
> > > Thanks
> > >
> > > [1]
> > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=fdiolpGWQJihoZw2PfYLmoyckh1mDiynH8EbJXYIeog%3Dreserved=0
> > >
> > > --
> > > Carlos Rovira
> > >
> > >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=bwLXrUQ6N4syATPB8iEXL%2BnFZPQl9xhIndqwNbCShCo%3Dreserved=0
> > >
> > >
> > >
> >
> > --
> > Carlos Rovira
> > http://about.me/carlosrovira
> >
>


-- 
Carlos Rovira
http://about.me/carlosrovira


Re: Check is something is Class or instance in Royale

2018-10-06 Thread Piotr Zarzycki
Hi Carlos,

Are you trying to distinguish something from simple type by that if(arr[0]
is Class) ? By simple type I mean String, Boolean?

Piotr

On Sat, Oct 6, 2018, 10:54 AM Carlos Rovira  wrote:

> Hi Alex,
>
> I'm very new to Language.as, so I'll try to do my best.
>
> I'm trying to add to Language.as "is" function this:
>
> if(rightOperand === Class) {
> return typeof leftOperand === 'function';
> }
>
> the test case is :
>
> var arr:Array = [main]; //main is a container declared in MXML, so is not
> class is an instance
> if(arr[0] is Class)
> {
> trace("is Class");
> } else
> {
> trace("is NOT Class"); // I expect to get this trace
> }
>
> but browser reports:
>
> [Error] ReferenceError: Can't find variable: Class is (Language.js:147)
>
> So first point to solve is how to deal with "Class", since is not
> recognized at javascript level. Seems to me that "Class" should be solved
> at compiler level?
>
> Thanks
>
>
> El vie., 5 oct. 2018 a las 23:11, Alex Harui ()
> escribió:
>
> > Hi Carlos,
> >
> > Use of "is" is transpiled into a call to Language.is.  I think
> Language.is
> > should special case the test for Class.  Try updating Language.is and see
> > if that is what you need.
> >
> > -Alex
> >
> > On 10/5/18, 11:13 AM, "Carlos Rovira"  wrote:
> >
> > Hi,
> >
> > in js, check if something is a class or is an instance is like this
> [1]
> >
> > typeof myFunc === 'function'
> >
> > In Royale since we are using AS3, doing
> >
> > if(something is Class)
> > do this
> > else
> >do that
> >
> > should work either for SWF and for JS, but seems is not the case.
> > I must make two codes COMPILE::SWF (with "is Class") and COMPILE::JS
> > (with
> > typeof ... ==='function')
> >
> > Could we have this abstracted by compiler?
> >
> > Thanks
> >
> > [1]
> >
> >
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=fdiolpGWQJihoZw2PfYLmoyckh1mDiynH8EbJXYIeog%3Dreserved=0
> >
> > --
> > Carlos Rovira
> >
> >
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=bwLXrUQ6N4syATPB8iEXL%2BnFZPQl9xhIndqwNbCShCo%3Dreserved=0
> >
> >
> >
>
> --
> Carlos Rovira
> http://about.me/carlosrovira
>


Re: Check is something is Class or instance in Royale

2018-10-06 Thread Carlos Rovira
Hi Alex,

I'm very new to Language.as, so I'll try to do my best.

I'm trying to add to Language.as "is" function this:

if(rightOperand === Class) {
return typeof leftOperand === 'function';
}

the test case is :

var arr:Array = [main]; //main is a container declared in MXML, so is not
class is an instance
if(arr[0] is Class)
{
trace("is Class");
} else
{
trace("is NOT Class"); // I expect to get this trace
}

but browser reports:

[Error] ReferenceError: Can't find variable: Class is (Language.js:147)

So first point to solve is how to deal with "Class", since is not
recognized at javascript level. Seems to me that "Class" should be solved
at compiler level?

Thanks


El vie., 5 oct. 2018 a las 23:11, Alex Harui ()
escribió:

> Hi Carlos,
>
> Use of "is" is transpiled into a call to Language.is.  I think Language.is
> should special case the test for Class.  Try updating Language.is and see
> if that is what you need.
>
> -Alex
>
> On 10/5/18, 11:13 AM, "Carlos Rovira"  wrote:
>
> Hi,
>
> in js, check if something is a class or is an instance is like this [1]
>
> typeof myFunc === 'function'
>
> In Royale since we are using AS3, doing
>
> if(something is Class)
> do this
> else
>do that
>
> should work either for SWF and for JS, but seems is not the case.
> I must make two codes COMPILE::SWF (with "is Class") and COMPILE::JS
> (with
> typeof ... ==='function')
>
> Could we have this abstracted by compiler?
>
> Thanks
>
> [1]
>
> https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F405164%2Fbest-method-of-testing-for-a-function-in-javascriptdata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=fdiolpGWQJihoZw2PfYLmoyckh1mDiynH8EbJXYIeog%3Dreserved=0
>
> --
> Carlos Rovira
>
> https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosroviradata=02%7C01%7Caharui%40adobe.com%7Ca4d898cf20fe4f072a9008d62aee4d24%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636743600312034959sdata=bwLXrUQ6N4syATPB8iEXL%2BnFZPQl9xhIndqwNbCShCo%3Dreserved=0
>
>
>

-- 
Carlos Rovira
http://about.me/carlosrovira


Check is something is Class or instance in Royale

2018-10-05 Thread Carlos Rovira
Hi,

in js, check if something is a class or is an instance is like this [1]

typeof myFunc === 'function'

In Royale since we are using AS3, doing

if(something is Class)
do this
else
   do that

should work either for SWF and for JS, but seems is not the case.
I must make two codes COMPILE::SWF (with "is Class") and COMPILE::JS (with
typeof ... ==='function')

Could we have this abstracted by compiler?

Thanks

[1]
https://stackoverflow.com/questions/405164/best-method-of-testing-for-a-function-in-javascript

-- 
Carlos Rovira
http://about.me/carlosrovira