asmer 29.06.2012 23:29 Psi+

Всякие наблюдения о CL:
сделал элементарный REPL, и он, зараза, выводил результат формы только после ввода следующей. Говно. Починилось (force-output).

Долго думал чем как можно сделать хранение данных на диске. Вариантов вроде много: можно писать формы print with-standard-io-syntax и читать их. Можно заюзать какой-нибудь интерфейс к СУБД. Можно какую-нибудь object persistence библиотеку. Но:
print не прокатил с объектами;
elephant не работает с sbcl 1.0.55;
sql и база в нагрузку мне не подходят;
либы старые как говно мамонта и мало поддерживаемые;
итого: заюзал пока cl-prevalence, по-крайней мере оно пишет и оно читается. Если что можно будет отловить swizard-а, взять его форк и поспрашивать.

Захотелось проитерировать слоты объекта. Опять какие-то костыли типа closer-mop:compute-slots, причем возвращают они объекты-слоты, типы которых насколько я понял привязаны к реализации. А захотелось мне этого из-за того, что родной format (насколько я понял) не умеет выводить поля объекта итеративно (~{~}).

Я уже молчу, что в aref вначале список, потом индекс, а в nth наоборот. С gethash и slot-value ситуация аналогичная. Многие жалуются на бардак в стандартной библиотеке PHP, но тут я особого порядка тоже не наблюдаю.

Кстати, а есть какие обобщающие функции/макросы/библиотеки, которые сами подставят правильный map/accessor/еще что по типу данных?

Do you really want to delete ?