then nominal will be? :)<br><br><div class="gmail_quote">On Tue, Sep 25, 2012 at 3:37 PM, Andreas Rossberg <span dir="ltr"><<a href="mailto:rossberg@google.com" target="_blank">rossberg@google.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 25 September 2012 15:31, Andrea Giammarchi<br>
<div class="im"><<a href="mailto:andrea.giammarchi@gmail.com">andrea.giammarchi@gmail.com</a>> wrote:<br>
> That's a hell of a question ... shapes speaking I'd say structural, since<br>
> AFAIK shapes are those boosted up more, isn't it?<br>
><br>
> That would solve String VS string and Array VS Arguments which is, I<br>
> believe, kinda desired.<br>
><br>
> Which one would you chose ?<br>
<br>
</div>I assume that most people would probably prefer structural types in<br>
principle, but the problem is that they induce far, far more expensive<br>
runtime checking (easily an order of magnitude). Which is why guards<br>
and trademarks were proposed as a more conservative, nominal<br>
mechanism.<br>
<br>
Generally speaking, retrofitting something type-like on an untyped<br>
language is a *very* hard problem. It has been tried with many<br>
languages and has succeeded for very, very few. You can read lots and<br>
lots of research papers on the subject.<br>
<br>
Fortunately, though, we have top-notch expertise on that topic on<br>
TC39, e.g. Sam TH. ;)<br>
<span class="HOEnZb"><font color="#888888"><br>
/Andreas<br>
</font></span></blockquote></div><br>