La famiglia di lingue Lisp è un concetto fuzzy. Gli aspetti chiave sembrano essere
- Supporto per la programmazione funzionale
- Macro
- Homoiconic (The text < = > The AST, es. Lisp's love of parens)
- Digitato dinamicamente
- Garbage Collected
Il grande posto in cui Scala cade è 3. La scala è esilarante non omoiconica e questa non è necessariamente una cosa negativa.
Tuttavia ha un effetto importante: in Lisps, parte di ciò che rende le macro così potenti è che sono così facili. In Common Lisp una macro è letteralmente una funzione che restituisce una lista. Questo è tutto.
In Scala o Haskell (Template Haskell), la meta-programmazione della compilazione del tempo è qualcosa che gli esperti fanno, in Lisp, le macro sono ciò che fanno tutti.
Anche Scala non riesce a scrivere 4 in modo strongmente statico. Esistono modi pragmatici per convincere il compilatore ad accettare un certo livello di digitazione dinamica, ma in questo caso sicuramente stai combattendo la lingua.
Il mio pensiero è che Scala, come molti, è influenzato da Lisp, ma non è un dialetto.