As I get deeper and deeper into Racket I notice a lot of interesting identifiers that seem to follow a naming convention, but I can&#39;t figure out what the convention is.<div><br></div><div>For instance, extract-binding/single seems to use the slash to indicate that it only returns a single value, as opposed to a list of binding values (or actually, I don&#39;t know what the alternative might be). But then the name send/suspend/dispatch doesn&#39;t seem to follow that convention; instead it seems to mean send, <i>then</i> suspend, <i>then </i>dispatch.</div>

<div><br></div><div>Of course, dashes are for spacing, question marks are for boolean-valued functions or boolean variables, exclamation marks are for mutation, asterisks for recursive access (like let*), an arrow -&gt; usually indicates type-conversion, and it seems that colons indicate subtyping (as in exn:fail:contract:divide-by-zero). So my question is mostly: when is a slash appropriate, and what does it generally express?</div>

<div><br></div><div>Are there any other significant naming conventions I may run across? perhaps using some of ~ @ $ ^ &amp; . _ + = . Is it considered bad form to use full UTF characters in identifiers?<br clear="all"><br>

Jeremy<br>
</div>