Допустим, у нас есть сложная структура данных, которая представима в виде s-expressions, внутри которых встречаются самые разнообразные атомы, в том числе keywords и symbols. Вопрос: позволяет ли какая-либо из реализаций CL провернуть подобное?
Уверен, что ecl может, но относительно интересующих меня clozurecl и clisp никак не могу накопать в хидерах что-то похожее.
Конечно же, можно взять cffi, через defcstruct/defcunion «открыть скобочному миру» сишные структуры, и в самом лиспе преобразовать это в нужный вид, но выглядит
- костыльно (int => keyword/symbol)
- небыстро
- двойная работа: генерируем списки в сишечке, чтобы пройтись по ним лиспом и сделать нормальные cons-ы