<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 21, 2009, at 2:00 PM, Charles Oliver Nutter wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">I'm not sure there's a way to reconcile multiple proposed Java languages </span></p> <p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">changes that all want to use #.</font></p> </blockquote></div><br><div>The exotic identifiers proposal does not conflict with any use of hash '#' (that I am aware of) as a separator or operator. That's because an exotic identifier is introduced by the two character sequence hash-quote '#"'. It interferes with other uses of hash '#' as much as it interferes with other uses of quote '"': That is, not at all.</div><div><br></div><div><div><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Jan 21, 2009, at 12:01 PM, Rémi Forax wrote:</div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">I am not a big fan of the exotic identifier proposal mostly because</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">i doesn't understand the need</font></div></blockquote><div><br></div><div>As Charlie pointed out, along with the Dynamic.foo() syntax, exotic identifiers allow Java to make direct calls to other languages. E.g., Dynamic.#"setcar!"(aCons, aValue) as well as Dynamic.list(aValue).</div><div><br></div><div>A second point: I know that annotations are the current state of the art for assigning non-Java names to definitions. But I think exotic identifiers will provide, in many new cases, a smoother way to allow Java to define names which are directly usable from non-Java languages.</div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">and because using '#' creates conflicts</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">with several closure proposal (BGGA and CICE) and my modest</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">property proposal.</font></div></blockquote><br></div><div>See above. For example, a proposed expression Author#name could be harmlessly requoted as #"Author"##"name". The example is intentionally bad style, but there is no ambiguity. At worst, an operator "##" (is anybody suggesting one?) would be lexically ambiguous if immediately followed by a string literal; the solution (as with all such ambiguities) is to introduce a space to separate the intended tokens.</div><div><br></div><div>-- John</div></div></div></div></body></html>