+Racket users can define their own languages, as discussed in [Creating Languages](http://docs.racket-lang.org/guide/languages.html). Typically, a language name maps to its implementation through a module path by adding `/lang/reader`; for example, the language name `scribble/base` is expanded to `scribble/base/lang/reader`, which is the module that implements the surface-syntax parser.