Почему в Лиспах почти не используют Domain Specific синтаксис? Там же можно написать макрос для математики, например, "count", парсящий с учетом проиритета, чтобы вместо (* (/ cs-i (- ps-i cs-i)) d-i) можно было писать count (cs-i / (ps-i — cs-i) * d-i)