<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">Welcome to DrRacket, version 6.0.1 [3m].<br>Language: racket/base [custom]; memory limit: 4096 MB.<br>> (string->symbol "x'")<br>'|x'|<br><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 8, 2015 at 3:15 PM, Greg Hendershott <span dir="ltr"><<a href="mailto:greghendershott@gmail.com" target="_blank">greghendershott@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So Haskell conventionally uses ' as a suffix, prime. From what I've<br>
seen, Scheme and Racket tend to use * instead.<br>
<br>
At some point I "learned" that you cannot use ' as a suffix in Racket.<br>
<br>
Today I tried again, and was surprised to see that it works... somewhat.<br>
<br>
$ racket<br>
Welcome to Racket v6.1.1.6.<br>
-> (define x' 42)<br>
-> x'<br>
42<br>
-> (+ x' 10)<br>
'(+ x '10)<br>
-> (+ 10 x')<br>
; readline-input:4:8: read: unexpected `)'<br>
-> (+ 10 x' )<br>
; readline-input:5:8: read: unexpected `)'<br>
<br>
<br>
0. It turns out x' _is_ a valid identifier, and it self-evaluates just<br>
fine. Interesting.<br>
<br>
1. I don't understand why (+ x' 10) evaluates not to 52, and not even<br>
an error, but... '(+ x '10).  WAT.<br>
<br>
2. Less surprising to me is that (+ 10 x') and even (+ 10 x' ) are<br>
errors. But actually, I wonder why the reader (or lexer?) couldn't<br>
handle ' followed by a character that can't be part of an identifier?<br>
<br>
<br>
p.s. I'm not proposing this would be a great suffix style to use.<br>
Quick, distinguish x' from 'x ! And don't type one when you mean the<br>
other! I get that. Even so, I'm curious.<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div><br></div>