Я догадался, что #lang вы имели ввиду директиву Racket (или что-то подобное).
Но проблема же в том, что язык программирования - это интерфейс человек-машина. И если язык с точки зрения машины изучен великолепно, то с точки зрения человека - крайне паршиво. Скажем, все бросаются автоформатировать код, совершенно не понимая, чем один стиль лучше другого (или может быть он хуже? даже критерии никто не знает).
А проблема Лиспа в том, что он плохо читаем человеком (а машиной отлично). Частично это исправляется блочной структурой, но явно недостаточно. Раскрашивание вроде помогает. Может быть ещё что-то?
И когда вы строите DSL эта проблема восприятия встаёт в полный рост.
Это не проблема Lisp-а. А проблема людей, которые не писали ничего на Lisp. На самом деле мозги очень быстро привыкают именно к такой структуре текста, и они воспринимают её гораздо быстрее. Потому что всё явно размечено. Не нужно помнить кучу частных случаев синтаксиса и приоритетов операторов. Семантика кода считвается очень быстро, если, конечно, не скрыта за наслоениями макросов. Но на макросах выпендриваются только ньюбы.
Можно посмотреть на Ютубе на то, с какой скоростью Baggers пишет на Lisp. Это очень быстро. И это нормальная, а не экстраординарная скорость работы с таким структурированным текстом.