He doesn’t appear to be using any features of Lisp that made it “the language of (70s) AI”. You could do all of this just as easily in many other languages.
His prof was still wrong.
Yeah the intelligence is still in the model. The promise of symbolic AI is about logic programming/ formal semantics not recursive loops.
To a large extent the idea has failed because it proved too hard to get non-experts to represent systems formally.
I still think there’s potential value in a hybrid approach - e.g. get language models to do the representation then let them use formal reasoners/ verification instead of hallucinating.
I always find Lisp a bit mind bending and feel like I will be a better programmer once I master it. But it also feels like wood carving, and most of the time I just need to slap some planks together for a bookcase, and don’t have the time to scrimshaw it into a beautiful work of art. I’m not seeing here how Lisp is differentiated from an agent with a code sandbox and python, unless we’re operating that agent inside of Emacs… That’s where the code and the data are swimming together. I don’t think there isn’t a difference, it’s more a matter of my not getting it, if anyone is able to help me understand it’d be appreciated
You can implement an agent loop in any language, and modern languages can do everything that lisp can, so there’s nothing magic in lisp. At the end of the day lisp is just another weakly typed functional/procedural language.
Personally I didn’t find lisp that much elegant due to the loose typechecking and the excessive parentheses, but the macro system allows some very terse and smart (and mind-bending, as you said) solutions, which do feel pretty cool when they work fine.
IMHO it’d be probably better to give your agent access to a python interpreter because it’s much more prevalent in the training data than lisp…
tbf high prevalence is a double edged sword, it also means it’s trained on a lot of poorly written code which it will slide into
I feel the same! also there is
evalin javascript or any other scripting language. why use Lisp specifically?I self-learned lisp last year using the old SICP book, but I do consider myself a fairly expert programmer, and I felt that book was a bit hard at the end of it.
IMHO the key difference of lisp’s eval wrt python’s eval is that it takes in input a parsed expression (a lisp list) and not a string. In lisp though you don’t have to use eval much, because the macros allow you to transform the expressions from your programs directly (take in input parsed code, return a different code structure to be executed). The quote and quasiquote functions are there to make that easy!
I don’t know javascript enough, but in python you’d have to use eval and use some kind of parsing package crazyness if you wanted to implement a similar macro system!
As a scientist who has ended up gradually becoming more of a programmer, I battled through the SICP after seeing the cult following it has. It’s a weird, but good book, and I couldn’t imagine a book like that using anything other than Lisp
Sometimes restrictions are features. What if you don’t want to hand out shell access? Then you are back to a list of tools again.
Lisp is a cool language. It was many years ago now, but I recall writing a lisp interpreter in lisp for a college project. It was only ~100 lines of code and my recollection is that it worked remarkably well.



