This site is a static rendering of the Trac instance that was used by R7RS-WG1 for its work on R7RS-small (PDF), which was ratified in 2013. For more information, see Home.

Ticket 361: Change syntax of escaped symbols from |...| to #"..."

2012-07-11 01:20:04
WG1 - Core
2012-03-13 00:40:34

Pro: Unifies string and symbol syntax, which are almost the same anyway. Frees up | and \ for other uses. Easy to implement. See also #360.

Con: Nobody implements or uses this, whereas |...| is widespread in R5RS systems and \ is required in R6RS systems.

#" is rarely used. Of my 39 test Schemes, only Racket, Gambit, Larceny, IronScheme, Shoe, and and XLisp do something other than error out as soon as they see it -- but in most of these cases, I don't know what they are actually doing.

On the other hand, Racket, Gauche, MIT, Gambit, Chicken, Bigloo, Kawa, SISC, Chibi, Chez, Ikarus/Vicare, STklos, KSi, Rep, Oaklisp, and Owl Lisp all understand |...| syntax.

Scsh, Guile, SCM, NexJ, Shoe, TinyScheme, Dream, Scheme 7, BDC, Elk, UMB, VX treat | as an ordinary identifier character.

Scheme48, Larceny, Ypsilon, Mosh, SigScheme, RScheme, XLisp, Schemik all report syntax errors.

IronScheme gets hung up reading characters from the input.


Racket uses #"..." for something else, so this ticket has been rejected.