Sto progettando una lingua concettualmente simile a Go.
In Vai, ad esempio, la parola chiave func
viene utilizzata per definire le funzioni:
func abs (a int) uint { ... }
Uguale per la definizione dei tipi.
Tuttavia, stavo pensando ad una grammatica che non considera queste parole chiave.
Ad esempio:
abs (a int => uint) { ... }
Oppure, per le strutture:
Tree {size int; age int}
Cosa c'è di sbagliato in una tale sintassi? Ci sono alcuni potenziali problemi che potrebbero verificarsi?
Ad esempio, pensavo che se esistesse un costrutto che usasse la stessa grammatica di una struct, come un'interfaccia, sarebbe vaga (è una struct o un'interfaccia)?