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'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't know what the alternative might be). But then the name send/suspend/dispatch doesn'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 -> 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 ~ @ $ ^ & . _ + = . Is it considered bad form to use full UTF characters in identifiers?<br clear="all"><br>
Jeremy<br>
</div>