# Names and strings

This page is the "Names and strings" section of the Voxlang language reference. It is generated from LANGUAGE.md in the Voxlang compiler's own repository, so it says what the specification says and nothing more.

A URL is the heading, lowercased, with punctuation dropped and spaces turned into hyphens. Each "##" section of the spec is a page under /docs/, and every heading inside it is a fragment on that page, so "File I/O" is /docs/file-io/ and "Reading a whole file" inside it is /docs/file-io/#reading-a-whole-file.

As data: https://vox-lang.dev/docs/index.json lists every section and every heading with its URL, https://vox-lang.dev/docs/search.json carries one entry per heading with its first sentence and keywords, and https://vox-lang.dev/docs/anchors.json maps every slug to the page it lives on. Search is also a JSON endpoint: https://vox-lang.dev/docs/search?q=<words> returns ranked results as JSON, no page load.

Source: LANGUAGE.md at bf2cba0, 2026-08-22. https://github.com/Vox-lang/vox/blob/bf2cba037976586c30d22a48e7b7246d347f54a1/LANGUAGE.md

[Reference](https://vox-lang.dev/docs/) > Names and strings

One token cannot mean two things. `"..."` is a string literal everywhere, and a name is a bare or single-quoted identifier:

```vox fragment
a number called "x" is "get five".
```

That is a compile error — `is "get five"` rejects the string in identifier position and points you at `'get five'`. Were it accepted, `"get five"` in expression position would read as a string literal — a pointer to the function's code — and `x` would quietly receive that pointer as a number: a wrong answer that looks like data, with no error and no warning.
