Un linguaggio specifico di dominio (DSL) è un piccolo linguaggio ottimizzato per uno specifico dominio. Dato che un DSL è mirato a uno scopo preciso, può avere un grande impatto sulla produttività e sulla comprensione, permettendo a chi scrive di dichiarare cosa vuole anziché come.
Uno degli ambiti in cui vengono applicati sono le personalizzazioni e le configurazioni complesse.
Per esempio, il linguaggio DOT permette di scrivere una descrizione testuale di un grafo che viene poi trasformata in un'immagine da uno degli strumenti Graphviz (come dot).
Un grafo semplice si presenta così:
graph {
graph [bgcolor="yellow"]
a [color="red"]
b [color="blue"]
a -- b [color="green"]
}
Se metti questo contenuto in un file example.dot ed esegui dot example.dot -T png -o example.png, ottieni un'immagine example.png con un cerchio rosso e uno blu collegati da una linea verde su uno sfondo giallo.
Scrivi un linguaggio specifico di dominio simile al linguaggio dot di Graphviz.
Il nostro DSL è simile al linguaggio dot di Graphviz nel senso che verrà usato per creare strutture dati a grafo. Tuttavia, a differenza del linguaggio DOT, il nostro DSL sarà un DSL interno, da utilizzare solo nel nostro linguaggio.
Iscriviti a Exercism per imparare e padroneggiare Elixir con 58 concetti168 esercizi e il mentoring di persone reali, tutto gratis.