Mi piacerebbe prototipare un sistema algebrico computerizzato. Un'equazione sarebbe rappresentata da un albero e le regole sarebbero definite - analogamente agli assiomi matematici - specificando un modello (nell'albero) e una regola di ristrutturazione per la parte abbinata dell'albero.
Puoi suggerire un linguaggio di programmazione che potrei sperimentare per testare questo approccio (idealmente non un linguaggio troppo sperimentale)? Fondamentalmente dovrebbe supportare strutture di dati di alto livello come liste (o effettivamente alberi) e rendere facile abbinare l'albero a un modello e anche sostituire una parte di un albero con un sostituto. Quindi riguarda la corrispondenza dei pattern della struttura dei dati di alto livello e una semplice modifica di questo.
EDIT: Ovviamente potrei prendere qualsiasi linguaggio di programmazione per scrivere il programma alla fine, ma sto cercando in particolare qualcosa che renda facile fare la prima idea di prototipazione. Non mi dispiace imparare una nuova lingua (per divertimento).