Implementation notes
This file tracks implementation progress for RFC-0001: String Literals
Status
In progress
Completed
- Escape sequence processing (
\n,\t,\\,\",\{,\},\r) - Triple-quoted strings (disambiguation, termination, embedded quotes)
- String type (
my String) - Invalid escape sequence errors
- Brace escaping (
\{,\}) - Multiline strings: leading newline removal, trailing whitespace removal, auto-dedenting
- Escape sequences treated as content during dedenting
- Raw strings (
"\prefix disables dedenting) - Ast probe infrastructure for tokenizer-level TDD
Remaining
- String interpolation: curly brace expressions inside strings
- Lexer brace nesting depth tracking
- Nested quotes inside interpolated expressions
- Interpolation scope — evaluated in enclosing scope
- Interpolation evaluation order — left-to-right
- Type checking for interpolated expressions
- Permission system for interpolated expressions
- String conversion mechanism — blocked on trait/interface RFC
Spec Paragraphs
14/22 spec paragraphs implemented in spec/src/syntax/string-literals.md.
8 remaining: 7 interpolation + 1 string conversion.
Notes
- Spec paragraphs authored directly in the spec (not in
rfcs/src/0001-string-literals/spec.md), validating the RFC-0002 workflow - Ast probe (
#? Ast:) enables TDD for tokenizer-level features process_escape_sequences()standalone function duplicates logic fromTokenizer::escape_sequence()— if escape rules change, both must be updated