Attualmente sto progettando un linguaggio di programmazione e sono al punto di fare tutte le scelte progettuali che guideranno lo sviluppo.
Il mio linguaggio ha una sintassi e un concetto leggermente diversi rispetto a molti altri linguaggi qui, e mi chiedo se è più importante che il linguaggio segua ciecamente il suo concetto, o se è giusto fare affidamento su scorciatoie e hack per renderlo più user- amichevole e riconosciuto.
Ad esempio, se un linguaggio è pensato per essere puramente funzionale, dovrebbe evitare che dichiarazioni imperative e simili siano completamente coerenti con i suoi principi, o è giusto implementarle per rendere la lingua più facile e / o meno noioso da usare?
Specificamente, il mio linguaggio è molto estendibile (una specie di dialoghi di Lisp) e mi chiedo se dovrei includere direttamente i loop e simili o se dovrei includerli come caratteristiche aggiunte attraverso il sistema di estensione per essere più coerente, anche se questo si traduce in sintassi stranamente apparente (qualcosa come il punto e virgola alla fine della parentesi graffa di blocchi di chiusura).