Lisp used to be a very pop­u­lar lan­guage for AI pro­gram­ming. Not be­cause it had fea­tures that were spe­cific to AI, but be­cause it was gen­eral. Lisp was based on more ab­stract ab­strac­tions, mak­ing it easy to choose whichever spe­cial cases were most use­ful to you. Lisp is also more math­e­mat­i­cal than most pro­gram­ming lan­guages.

A pro­gram­ming lan­guage that lets you define your own func­tions is more pow­er­ful than one that just gives you a fixed list of pre­defined func­tions. In a world where no pro­gram­ming lan­guage let you define your own func­tions, and a spe­cial pur­pose chess lan­guage has pre­defined chess func­tions. Try­ing to pre­define AI re­lated func­tions to make an “AI pro­gram­ming lan­guage” would be hard be­cause you wouldn’t know what to write. Notic­ing that on many new kinds of soft­ware pro­ject, be­ing able to define your own func­tions might be use­ful, I would con­sider use­ful.

The goal isn’t a lan­guage spe­cial­ized to AI, its one that can eas­ily be spe­cial­ized in that di­rec­tion. A lan­guage closer to “ex­e­cutable math­e­mat­ics”.