(no title)
bluepoint | 1 year ago
It has the most powerful macro system which enables one to define arbitrary syntax, essentially creating mini languages. So, CL is flexible enough to be able to create many languages without changing its fundamentals, such as those in the article. CL is like clay,not even lego bricks. And while this sounds wonderful and liberating, you end up having to learn many different mini languages for each library you use. I like this idea(l), but I do not have sophisticated enough needs to use it (I wish, feel free to hire me on a common lisp project, anyone), but I can imagine that for most programmers that much flexibility may become a source agony, especially if they need to work with other people's code, essentially having to learn (frequently badly?) designed mini languages.
lispm|1 year ago
https://mitpress.mit.edu/9780262610742/the-art-of-the-metaob...
The toy implementation from the book: https://github.com/binghe/closette
A real implementation, here for SBCL: https://github.com/sbcl/sbcl/tree/master/src/pcl
> CL is like clay,not even lego bricks.
There is also the "Big ball of mud" metaphor, which is attributed to Joel Moses, comparing it to the diamond like structure of APL: