ludic/docs/language/text/text-length.md
Orkuncakilkaya b7745a4600 refactor(lang): rename the str type (and stringify builtin) to string
Expand the abbreviated string type and its conversion builtin to the full
word everywhere:
  str            ->  string        (the immutable-string type)
  str(x) -> str  ->  string(x) -> string   (the stringify builtin;
                                            what `{…}` interpolation calls)

Types are recognized by identifier, and llty maps both spellings to LLVM
`ptr`, so this is an atomic source rewrite: type annotations, the Ludic
type tags, the builtin name/dispatch, and the interpolation desugar, plus
the grammars, LSP, docs (type-str -> type-string, fn-str -> fn-string), and
inventory. int/bool stay (universally accepted, like Math).

Reseeded; C-free fixpoint holds; all suites green (45/24/29); site + check.py OK.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-30 01:51:11 +03:00

724 B

id name category kind tokens sig tip order ns member
text-length Text.length text namespace-method Text.length Text.length(s) -> int The number of bytes in a string. 0 Text length

Returns how many bytes are in s, not counting the terminating zero. It is the same count as the bare len(s), exposed under the Text namespace for discoverability. Use it to size a HUD field, walk a string by index, or check for emptiness with Text.length(s) == 0.

Parameters:

  • s — the string to measure
program NameWidth {
  var label: string = "player one"

  handler Draw phase Render {
    let width = Text.length(label) * 6   # 6 px per glyph
  }
}