Tieni presente che il mio discorso è molto generale e non scende nel dettaglio.

lisp e prolog sono di fatto linguaggi general purpose (vedasi ad esempio SBCL, Racket, ciao e swi-prolog). Tuttavia offrono astrazioni comode per alcuni problemi specifici. Ad esempio il fatto che dati e codice coincidano, e ciò permette soluzioni interessanti. Tuttavia in generale non esistono linguaggi che non possono fare una cosa (ad esclusione di casi specifici) e dato un linguaggio è possibile sviluppare astrazioni che permettano la facile risoluzione di un problema. Inoltre implementazioni in lisp e prolog potrebbero incorrere in problemi prestazionali risolvibili trammite la reimplementazione in altri linguaggi. Spesso, e sto parlando generalmente, al difuori dell'AI, si usa un dato linguaggio per la realizzazioni di prototipi e/o implementazioni di riferimento in quanto in quel linguaggio è più facile la ricerca che poi vengono sostituiti da implementazioni in altri linguaggi per questioni prestazionali.