If AI can modify its own code, aren't Lisp Macros the perfect choice?
I've been having this question for quite a while and couldn't find the answer anywhere on the internet. If true Artificial Intelligence (more precisely, AGI) can modify its own code to improve itself, then isn't LISP the perfect language for developing AI? LISP already has Macros which have a similar behavior as AI changing its code, while Python/Java/etc (basically any other language which is heavily used in AI research) don't have such powerful Macros system. Why aren't we switching back to LISP for AI research?
👤 kazinator Accepted Answer ✓
Lisp programs don't modify themselves. Macros are expanded until no macros remain, and that's that. Any modification to a running Lisp program is done by people, who hack on code and load new versions of it (old functions and other entities replaced by new).
If you do write a program that actually generates code (e.g. genetic programming), Lisps are perfect for that, though; but that's a different activity from macro expansion.
👤 sharemywin
I suspect that AGI would have a latent space model of itself in a "language" humans don't understand. Similar to a virtual machine. So, you could communicate with it in Lisp or anything else for that matter. But, it would have optimized versions of itself that could run on just about anything.
Maybe a bootstrapped version that could evolve to a more complex version.