> but a little study in compilers and formal languages and its obvious that all languages are describing trees.
That's not the issue - the issue is that lisp folk can easily write programs that manipulate their code. Other folks have to get a parser involved.
In most cases, that means that people who write programs in "not lisp" rarely have automated methods for manipulating their code. They don't define dsls. They have macros weaker than regular expressions.
Programs have a lot of structure that can't be exploited without being able to manipulate code.
I agree completely. However, the idea that only lisp describes trees, or that the describing is where lisp is powerful is wrong. All languages describe trees and the process is not that obscure. Like I said elsewhere I could write a lisp like language with no lists, no lamdas and no macros and it would very clearly describe a tree. It wouldnt be a powerful language.
Comments
> but a little study in compilers and formal languages and its obvious that all languages are describing trees.
That's not the issue - the issue is that lisp folk can easily write programs that manipulate their code. Other folks have to get a parser involved.
In most cases, that means that people who write programs in "not lisp" rarely have automated methods for manipulating their code. They don't define dsls. They have macros weaker than regular expressions.
Programs have a lot of structure that can't be exploited without being able to manipulate code.
I agree completely. However, the idea that only lisp describes trees, or that the describing is where lisp is powerful is wrong. All languages describe trees and the process is not that obscure. Like I said elsewhere I could write a lisp like language with no lists, no lamdas and no macros and it would very clearly describe a tree. It wouldnt be a powerful language.