Documentazione

· hunky dory

Una guida al linguaggio, un concetto alla volta. Non serve aver letto la specifica.

Come leggere questi capitoli

La specifica definisce le regole del linguaggio. È breve perché deve entrare in un prompt, il testo che fornisci a un modello. Questi quattordici capitoli spiegano il linguaggio in ordine, un concetto alla volta. Consulta la specifica su questo sito quando ti serve una regola precisa.

cosaquando leggerlo
La home, e il README del repositoryvuoi sapere che cos’è e se vale la pena andare avanti
Questa guida, quattordici capitolivuoi imparare il linguaggio un’idea alla volta, con programmi che girano
La specifica, un file soloti serve la regola esatta, o qualcosa non ha compilato e vuoi la frase che l’ha rifiutato
Perché, i no, le domande frequenti e le misurevuoi sapere perché una regola c’è, che cosa è stato escluso, e quali affermazioni hanno un numero dietro
Il documento di design e le sedute, nel repositoryvuoi il ragionamento dietro una decisione, e chi l’ha presa

Ogni esempio di codice proviene da un file in examples/. Sotto ogni blocco trovi il nome del file. Durante la build, la procedura che genera il sito, un controllo verifica che il blocco corrisponda ancora al sorgente e interrompe la build se trova differenze. A ogni commit, cioè ogni modifica salvata nella cronologia del repository, questi programmi vengono compilati ed eseguiti in tre configurazioni. Consulta gli esempi e il loro output →

I capitoli

Leggi i capitoli dall’alto verso il basso: ciascuno usa i concetti spiegati nei precedenti. Accanto a ogni titolo trovi il programma usato negli esempi.

  1. Un primo programma file, disposizione, commenti come documentazione · examples/gallery/00-first.hero
  2. Errori leggere un messaggio del compilatore, applicarne la correzione, e vedere cosa non rileva · tests/golden/
  3. Record e funzioni dichiarazioni, campi nominati, chiamate con il punto · examples/gallery/01-points.hero
  4. Variant e match tutti i casi vanno gestiti esplicitamente · examples/gallery/02-tokens.hero
  5. Il fallimento è un valore niente null, niente eccezioni · examples/gallery/03-fallible.hero
  6. Il flusso di controllo if, while, for, range · examples/gallery/04-loops.hero
  7. Nomi e modifiche = e @, e perché nascondere un nome è un errore · examples/gallery/05-mutation.hero
  8. Generici e valori funzione una forma, molti tipi · examples/gallery/06-generics.hero
  9. Le stringhe caratteri speciali, byte e testo, e un valore dentro una stringa · examples/gallery/07-strings.hero, 12-interpolation.hero
  10. Le mappe la ricerca restituisce un valore o un errore · examples/gallery/10-maps.hero
  11. Valori fino in fondo copie, e un albero senza nemmeno un puntatore · examples/gallery/11-trees.hero
  12. I moduli e i file come trovare un modulo e usarne il nome · examples/shapes/
  13. Test e buchi i test dentro il linguaggio, e ??? come domanda · examples/gallery/09-holes.hero
  14. Il confine con il C extern, header, e che cosa controlla clang per te · examples/gallery/08-ffi.hero