<HTML><HEAD></HEAD>
<BODY dir=ltr>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Droid Sans'; COLOR: #080000; FONT-SIZE: 14pt">
<DIV><FONT size=4>That’s right.&nbsp; :-)&nbsp; Inheritance shouldn’t be a prob 
with Dojo as it is right now.</FONT></DIV>
<DIV><FONT size=4></FONT>&nbsp;</DIV>
<DIV><FONT size=4>The same-name mangling rule is to avoid problems such 
as:</FONT></DIV>
<DIV><FONT size=4></FONT>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; <FONT size=4>var obj1 = {foo:1, bar:2};</FONT></DIV>
<DIV>&nbsp;&nbsp;&nbsp; <FONT size=4>var obj2 = {foo:3, bar:4};</FONT></DIV>
<DIV><FONT size=4></FONT>&nbsp;</DIV>
<DIV>&nbsp;&nbsp;&nbsp; <FONT size=4>function doSomething (obj) { 
alert(obj.foo); }</FONT></DIV>
<DIV><FONT size=4></FONT>&nbsp;</DIV>
<DIV><FONT size=4>If “foo” and “bar” are not renamed similarly across objects, 
then a lot of code that accepts arbitrary objects will break.</FONT></DIV>
<DIV><FONT size=4></FONT>&nbsp;</DIV>
<DIV><FONT size=4>- Stephen</FONT></DIV>
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV style="FONT: 10pt tahoma">
<DIV>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A title=bill@dojotoolkit.org 
href="mailto:bill@dojotoolkit.org">Bill Keese</A> </DIV>
<DIV><B>Sent:</B> Saturday, 12 March, 2011 3:59 PM</DIV>
<DIV><B>To:</B> <A title=Stephen.Chung@intexact.com 
href="mailto:Stephen.Chung@intexact.com">Stephen Chung</A> </DIV>
<DIV><B>Cc:</B> <A title=dojo-contributors@mail.dojotoolkit.org 
href="mailto:dojo-contributors@mail.dojotoolkit.org">dojo dev.</A> ; <A 
title=kzyp@dojotoolkit.org href="mailto:kzyp@dojotoolkit.org">Kris Zyp</A> 
</DIV>
<DIV><B>Subject:</B> Re: [dojo-contributors] Fwd: Using Dojo 1.6 with Closure -- 
document attached</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">Oh 
OK, I figured it would break completely. 
<DIV>&nbsp;</DIV>
<DIV>I guess what saves us is that (as you explained before) a method name is 
always converted to the same mangled name regardless of what class it came 
from.<BR><BR>
<DIV class=gmail_quote>On Sat, Mar 12, 2011 at 2:38 PM, Stephen Chung <SPAN 
dir=ltr>&lt;<A 
href="mailto:Stephen.Chung@intexact.com">Stephen.Chung@intexact.com</A>&gt;</SPAN> 
wrote:<BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
class=gmail_quote>
  <DIV dir=ltr>
  <DIV dir=ltr>
  <DIV style="FONT-FAMILY: 'Droid Sans'; COLOR: #080000; FONT-SIZE: 14pt">
  <DIV><FONT size=4>Hi Bill,</FONT></DIV>
  <DIV><FONT size=4></FONT>&nbsp;</DIV>
  <DIV><FONT size=4>That’s correct.&nbsp; Closure only handles prototypical 
  inheritance.&nbsp; It does not support multiple inheritance.&nbsp; AFAIK, Dojo 
  only simulates multiple inheritance with mixin’s for all base types other than 
  the first one in dojo.declare, so in my build script, I only mark the first 
  base class as @extends.</FONT></DIV>
  <DIV><FONT size=4></FONT>&nbsp;</DIV>
  <DIV><FONT size=4>AFAIK, Closure does not have much to offer for inheritance 
  anyway – there aren’t much interesting optimizations being done for base 
  classes, only primarily type checking.&nbsp; So there is not much 
  loss.</FONT></DIV>
  <DIV><FONT size=4></FONT>&nbsp;</DIV>
  <DIV><FONT size=4>So, I don’t think we are losing anything by not catering to 
  Closure’s inheritance system.</FONT></DIV>
  <DIV><FONT size=4></FONT>&nbsp;</DIV>
  <DIV><FONT size=4>- Stephen</FONT></DIV>
  <DIV 
  style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
  <DIV style="FONT: 10pt tahoma">
  <DIV><FONT color=#080000 size=4 face="Droid Sans"></FONT>&nbsp;</DIV>
  <DIV style="BACKGROUND: #f5f5f5">
  <DIV><B>From:</B> <A title=bill@dojotoolkit.org 
  href="mailto:bill@dojotoolkit.org" target=_blank>Bill Keese</A> </DIV>
  <DIV><B>Sent:</B> Saturday, 12 March, 2011 9:35 AM</DIV>
  <DIV><B>To:</B> <A title=dojo-contributors@mail.dojotoolkit.org 
  href="mailto:dojo-contributors@mail.dojotoolkit.org" target=_blank>dojo 
  dev.</A> </DIV>
  <DIV><B>Cc:</B> <A title=kzyp@dojotoolkit.org 
  href="mailto:kzyp@dojotoolkit.org" target=_blank>Kris Zyp</A> ; <A 
  title=Stephen.Chung@intexact.com href="mailto:Stephen.Chung@intexact.com" 
  target=_blank>Stephen Chung</A> </DIV>
  <DIV><B>Subject:</B> Re: [dojo-contributors] Fwd: Using Dojo 1.6 with Closure 
  -- document attached</DIV></DIV></DIV>
  <DIV><FONT color=#080000 size=4 face="Droid Sans"></FONT>&nbsp;</DIV></DIV>
  <DIV 
  style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
  <DIV class=im><FONT size=2>So Stephen, here's one of the tickets I filed 
  against closure:&nbsp;&nbsp; <A 
  href="http://code.google.com/p/closure-compiler/issues/detail?id=250" 
  target=_blank>http://code.google.com/p/closure-compiler/issues/detail?id=250</A></FONT> 

  <DIV><FONT size=2><BR></FONT></DIV></DIV>
  <DIV>
  <DIV class=im><FONT size=2>It's about how you can't denote multiple 
  inheritance to the closure compiler.&nbsp;&nbsp; Multiple inheritance is 
  pervasive in dijit.&nbsp;&nbsp; How have you handled that in your converter, 
  or have you?<BR></FONT><BR></DIV>
  <DIV class=gmail_quote>
  <DIV class=im>2011/3/2 Kris Zyp <SPAN dir=ltr>&lt;<A 
  href="mailto:kzyp@dojotoolkit.org" 
  target=_blank>kzyp@dojotoolkit.org</A>&gt;</SPAN><BR></DIV>
  <BLOCKQUOTE 
  style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
  class=gmail_quote>
    <DIV bgcolor="#FFFFFF" text="#000000">
    <DIV class=im>Stephen Chung has been researching the possibility of using 
    Closure's advanced mode on Dojo to create highly compressed builds that 
    eliminate dead code, and shorten property names. Attached is a document 
    detailing his results. This could be very helpful in guiding our decisions 
    about how to achieve extremely compact Dojo 
    applications.<BR><BR>Thanks,<BR>Kris<BR><BR>-------- Original Message 
    -------- </DIV>
    <TABLE style="COLOR: #000000" border=0 cellSpacing=0 cellPadding=0>
      <TBODY>
      <TR>
        <TH vAlign=baseline noWrap align=right>Subject: </TH>
        <TD>Using Dojo 1.6 with Closure -- document attached</TD></TR>
      <TR>
        <TH vAlign=baseline noWrap align=right>Date: </TH>
        <TD>Tue, 1 Mar 2011 13:06:57 +0800</TD></TR>
      <TR>
        <TH vAlign=baseline noWrap align=right>From: </TH>
        <TD>Stephen Chung <A href="mailto:Stephen.Chung@intexact.com" 
          target=_blank>mailto:Stephen.Chung@intexact.com</A></TD></TR>
      <TR>
        <TH vAlign=baseline noWrap align=right>Organization: </TH>
        <TD>Intexact Technologies</TD></TR>
      <TR>
        <TH vAlign=baseline noWrap align=right>To: </TH>
        <TD>Kris Zyp <A href="mailto:kzyp@dojotoolkit.org" 
          target=_blank>mailto:kzyp@dojotoolkit.org</A></TD></TR></TBODY></TABLE>
    <DIV class=im><BR><BR>
    <DIV dir=ltr>
    <DIV style="FONT-FAMILY: 'Droid Sans'; COLOR: #080000; FONT-SIZE: 14pt">
    <DIV><FONT size=4>Hi Kris,</FONT></DIV>
    <DIV>&nbsp;</DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none"><FONT 
    color=#080000 size=4 face="Droid Sans">I have put together a TODO document 
    (attached) detailing how to use Dojo 1.6 with the Closure 
    Compiler.</FONT></DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">&nbsp;</DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none"><FONT 
    color=#080000 size=4 face="Droid Sans">Please help take a look, and perhaps 
    put in on somewhere that people who wants to know how to do this can get 
    some references.</FONT></DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">&nbsp;</DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none"><FONT 
    color=#080000 size=4 face="Droid Sans">Thanks!</FONT></DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">&nbsp;</DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none"><FONT 
    color=#080000 size=4 face="Droid Sans">- Stephen</FONT></DIV></DIV>
    <DIV>
    <DIV 
    style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">&nbsp;</DIV></DIV></DIV></DIV></DIV></DIV>
    <DIV 
    class=im><BR>_______________________________________________<BR>dojo-contributors 
    mailing list<BR><A href="mailto:dojo-contributors@mail.dojotoolkit.org" 
    target=_blank>dojo-contributors@mail.dojotoolkit.org</A><BR><A 
    href="http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors" 
    target=_blank>http://mail.dojotoolkit.org/mailman/listinfo/dojo-contributors</A><BR><BR></DIV></BLOCKQUOTE></DIV>
  <DIV>&nbsp;</DIV></DIV>
  <HR>

  <DIV class=im><BR>No virus found in this incoming message.<BR>Checked by AVG - 
  <A href="http://www.avg.com" target=_blank>www.avg.com</A> <BR></DIV>Version: 
  9.0.872 / Virus Database: 271.1.1/3501 - Release Date: 03/12/11 
  03:56:00<BR></DIV></DIV></DIV></DIV></BLOCKQUOTE></DIV>
<DIV>&nbsp;</DIV></DIV>
<P>
<HR>
<BR>No virus found in this incoming message.<BR>Checked by AVG - www.avg.com 
<BR>Version: 9.0.872 / Virus Database: 271.1.1/3501 - Release Date: 03/12/11 
03:56:00<BR></DIV></DIV></DIV></BODY></HTML>