proc main(): void {
name := "bee"
echo "olá, {name}!" // interpolado
echo "{name + name}!" // qualquer expressão
echo "uma chave literal: \{" // escapado
echo "tab:\t| aspas:\" | \q" // \q é só q
echo "duas
linhas"
}proc main(): void {
name := "bee"
block := `
olá, {name}
uma chave literal: \{
a barra invertida fica: C:\hive\bin
`
echo block
}Uma string entre aspas duplas interpola {expressão} — qualquer coisa que seja uma expressão, não só um nome — e pode ocupar várias linhas. Seus escapes são \n, \t, \r, \", \\, e \{ para uma chave literal; uma barra invertida antes de qualquer outro caractere é só esse caractere, então "\q" é q.
Uma string entre crases serve para um bloco de texto. Sua indentação é removida em tempo de compilação até a menor margem que as linhas têm em comum — uma tabulação e um espaço contam como um cada — e uma primeira ou última linha em branco é descartada, então ela pode ser indentada junto com o código em volta. Ela também interpola {expressão}, e seu único escape é \{: toda outra barra invertida é uma barra invertida, o que a torna o lugar para uma expressão regular ou um caminho do Windows. Ela não pode conter crase alguma; junte uma com "`" se precisar.
Uma Str é um valor, como um Int: nada escreve dentro dela, e toda operação devolve uma string nova. Ela é contada, indexada e fatiada por caractere, o que o slide depois do verificador de limites mostra.