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

