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.

Source for wiki CaseInsensitivity version 10

author

cowan

comment


    

ipnr

108.182.78.175

name

CaseInsensitivity

readonly

0

text

== Symbols ==

Racket, Gauche, Gambit, Chicken, Bigloo, scsh, Guile, Kawa, Chibi, Chez, Vicare, Larceny, Ypsilon, Mosh, !IronScheme, NexJ, KSi, !SigScheme, Shoe, RScheme, S7, BDC, Rep, Schemik, Llava, Sizzle, Spark, Femtolisp, Dfsch, Owl Lisp return `#f` to `(eq? 't 'T)`.

MIT, Scheme48, SISC, SCM, STklos, !TinyScheme, Scheme 9, Dream, XLisp, Elk, UMB, VX, Oaklisp, SXM, Inlab return `#t`.

== Preferred case is upper case ==

I also decided to check the case-insensitive implementations using `(string=? (symbol->string 't) "T")` to see which ones converted symbols to upper case internally.  Only XLisp (which is not really Scheme-compliant) and Oaklisp (which is somewhat R3RS-compliant) did so.

== Character names ==

Is `#\Space` a valid constant?

Racket, Gauche, MIT, Bigloo, Scheme48, Guile, Kawa, Chibi, Chez, NexJ, STklos, KSi, !SigScheme, !TinyScheme, Scheme 9, Dream, RScheme, Rep, Elk, Oaklisp, Llava, SXM, Spark, Dfsch, Inlab accept `#\Space`.

Gambit, Chicken, scsh, Vicare, Ypsilon, Mosh, !IronScheme, Shoe, S7, Schemik, UMB, Sizzle, !FemtoLisp, Owl Lisp reject `#\Space`.

== Boolean constants ==

Gambit, !TinyScheme, S7, VX, Sizzle, Owl Lisp do not accept `#T` as equivalent to `#t`.

The other Schemes in the test suite do.

== Inexact constants ==

All Schemes in the test suite accept `E` as well as `e` in inexact constants (except those without inexact number support).

time

2013-05-24 12:56:28

version

10