<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br>On 2 May 2014, at 15:22, Marco Servetto <<a href="mailto:marco.servetto@gmail.com">marco.servetto@gmail.com</a>> wrote:<br><br><blockquote type="cite">In the same way, in many dynamically typed languages I could write a<br>library that reflectively read the source code and do some check... I<br>could do that in python/JS easily.<br></blockquote><br><div>Marco,</div><div><br></div><div>I see two differences between Grace and Python in this respect.</div><div><br></div><div>(1) Grace has a syntax for types: both type constant declarations and type annotations. This syntax is <i>part of the language. </i>No so for Python.</div><div><br></div><div>(2) The checker <i>mechanism</i> is part of the language. Any particular checker is defined by a dialect, but the mechanism itself is part of the language. Writing a checker does not require looking at the source code, which (correct me if I’m wrong) is the way that Python works.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre"> </span>Andrew</div><div><br></div></body></html>