RE: Self type

2007-08-17 Thread Eylon Stroh
legitimate candidate for t2 <: T2. -- Eylon -- -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peter Hall Sent: Friday, August 17, 2007 7:35 AM To: Cormac Flanagan Cc: Brendan Eich; es4-discuss Subject: Re: Self type I think my confusion here, is pe

Re: Self type

2007-08-17 Thread Peter Hall
I think my confusion here, is perhaps that I'm seeing this a slightly different way. What you are saying seems to suggest that Self type annotations can behave differently at runtime. To me, this example from the wiki should be an error: type T1 = { f:function(this:Self, z:Self):Self, w:int

Re: Self type

2007-08-16 Thread Dave Herman
>> Is there a broken link somewhere? > > No, but I'm getting permission denied now. You need to be logged in for the discussion: namespace. Dave ___ Es4-discuss mailing list Es4-discuss@mozilla.org https://mail.mozilla.org/listinfo/es4-discuss

Re: Self type

2007-08-16 Thread Brendan Eich
On Aug 16, 2007, at 11:42 AM, Dave Herman wrote: >> Dave Herman's analysis is on the wiki, but for some reason I'm >> getting an error trying to access the relevant page [3]. >> >> ... >> >> [3] https://wiki.ecmascript.org/ECMA/wiki/doku.php? >> id=discussion:classes_as_structural_types_with_brand

Re: Self type

2007-08-16 Thread Dave Herman
> Dave Herman's analysis is on the wiki, but for some reason I'm > getting an error trying to access the relevant page [3]. > > ... > > [3] https://wiki.ecmascript.org/ECMA/wiki/doku.php? > id=discussion:classes_as_structural_types_with_branding You've got the URL wrong here; it should be: h

Re: Self type

2007-08-14 Thread Brendan Eich
On Aug 14, 2007, at 12:46 PM, Nicolas Cannasse wrote: > Have you not considered having a two-level type spec ? One for > compile-time and one for runtime ? If I'm not wrong, Java did that > with > generics. We do not want a profiled or segmented specification, apart from the optional strict m

Re: Self type

2007-08-14 Thread Jeff Dyer
On 8/14/07 12:46 PM, Nicolas Cannasse wrote: > The only problem so far is that it seems there is no structural types > support in AVM2/Tamarin yet, or did I miss it ? Nope, no support for structural types in AVM2. ___ Es4-discuss mailing list Es4-di

Re: Self type

2007-08-14 Thread Nicolas Cannasse
Brendan Eich a écrit : > On Aug 14, 2007, at 10:10 AM, liorean wrote: > >>> Peter Hall wrote: type B = {b:Self}; >> On 14/08/07, Cormac Flanagan <[EMAIL PROTECTED]> wrote: >>> Yes, I think this should be fine. >> I'm all for allowing recursive structural types e.g. for use as binary >> trees

Re: Self type

2007-08-14 Thread Brendan Eich
On Aug 14, 2007, at 10:10 AM, liorean wrote: >> Peter Hall wrote: >>> type B = {b:Self}; > > On 14/08/07, Cormac Flanagan <[EMAIL PROTECTED]> wrote: >> Yes, I think this should be fine. > > I'm all for allowing recursive structural types e.g. for use as binary > trees or linked lists. > > type

Re: Self type

2007-08-14 Thread liorean
> Peter Hall wrote: > > type B = {b:Self}; On 14/08/07, Cormac Flanagan <[EMAIL PROTECTED]> wrote: > Yes, I think this should be fine. I'm all for allowing recursive structural types e.g. for use as binary trees or linked lists. type BinTree = {sin:Self, dx:Self, value:*}; -- David "liorean

Re: Self type

2007-08-14 Thread Cormac Flanagan
Peter Hall wrote: > On 8/14/07, Eylon Stroh <[EMAIL PROTECTED]> wrote: >> From the proposal: >> "The return type T2 is ok, even if the function returns a T1 instead... >> covariant occurrences of Self (eg in the result type) are replaced by >> T2" >> > > I was also wondering about this. > To me,

Re: Self type

2007-08-14 Thread Cormac Flanagan
Eylon Stroh wrote: >>From the proposal: > "The return type T2 is ok, even if the function returns a T1 instead... > covariant occurrences of Self (eg in the result type) are replaced by > T2" > > Please correct me if I'm wrong, but it seems to me that return types can > also be placed in context

Re: Self type

2007-08-14 Thread Cormac Flanagan
Peter Hall wrote: >>> Or can't Self be used outside of the sorts of usage found in the >>> proposal examples? >> That's it. > In that case, I think it needs to be clearer about how the syntax can > be used. Is it only for use as the "this" parameter for function > types? Seems to me like it shoul

Re: Self type

2007-08-13 Thread Peter Hall
On 8/14/07, Eylon Stroh <[EMAIL PROTECTED]> wrote: > From the proposal: > "The return type T2 is ok, even if the function returns a T1 instead... > covariant occurrences of Self (eg in the result type) are replaced by > T2" > I was also wondering about this. To me, if someone writes "Self" for an

RE: Self type

2007-08-13 Thread Eylon Stroh
thing that allows for stronger typing of y.f? Eylon -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brendan Eich Sent: Monday, August 13, 2007 2:40 PM To: Peter Hall Cc: es4-discuss; Cormac Flanagan Subject: Re: Self type On Aug 13, 2007, at 1:59

Re: Self type

2007-08-13 Thread Brendan Eich
On Aug 13, 2007, at 1:59 PM, Peter Hall wrote: >>> Or can't Self be used outside of the sorts of usage found in the >>> proposal examples? >> >> That's it. >> > > In that case, I think it needs to be clearer about how the syntax can > be used. No doubt the proposal needs to be clearer to become a

Re: Self type

2007-08-13 Thread Peter Hall
> > Or can't Self be used outside of the sorts of usage found in the > > proposal examples? > > That's it. > In that case, I think it needs to be clearer about how the syntax can be used. Is it only for use as the "this" parameter for function types? Seems to me like it should be usable anywhere t

Re: Self type

2007-08-13 Thread Brendan Eich
On Aug 13, 2007, at 5:32 AM, Peter Hall wrote: > I was just reading the Self type proposal for the first time > (http://wiki.ecmascript.org/doku.php?id=proposals:self_type). Cormac should reply authoritatively since he's the author of that spec, but I'll have a go. > Ho

Self type

2007-08-13 Thread Peter Hall
I was just reading the Self type proposal for the first time (http://wiki.ecmascript.org/doku.php?id=proposals:self_type). How should a compiler handle this keyword? Should it be able to substitute a concrete type at compile-time, or must the actual type be evaluated at runtime (possibly with