Привет.
Как известно, текущая стандартная библиотека Common Lisp устарела, много необходимого в ней просто нет, реализации предоставляют разрозненные наборы фич, а в репозиториях куча полуподдерживаемых библиотек.
Поэтому я тут решил потихоньку пилить новую стандартную библиотеку для CL. По образу и подобию недавно заопенсорсенного .NET Base Class Library.
https://github.com/Lovesan/CLR
Код либо адаптируется из существующих библиотек - благо лицензии в основном позволяют, либо переписывается на CL из библиотек других языков.
Важный момент - это не синтаксический сахар и не простое распихивание символов по модулям, как в том же cl21, это именно стандартная библиотека.
Сейчас у меня там совсем небольшое количество кода, и в качестве бэкенда пока только SBCL и винда, но вот неполный список планирующихся фич:
- Унифицированные *features*
- Разнообразные распространенные утилиты, вроде with-gensyms итд
- Унифицированный интерфейс MOP
- Треды, примитивы синхронизации, атомарные операции, тред пулы, таски/фьючи
- Асинхронное высокопроизводительное IO, включая работу с сетью
- Легковесный FFI
- Различные коллекции, в том числе lock-free. Унифицированный интерфейс коллекций.
- Кодировки, регулярные выражения, i18n, L10n
- Работа с датой и временем
- Унифицированные механизмы сериализации
- Работа с XML и JSON
- Работа со сжатием данных
- Стандартная система логирования
- Для винды - интеграция с COM по подобию .NET, работа с виндовыми сервисами
Также, в качестве отдельных модулей/asdf-систем:
- Унифицированная работа с базами данных по примеру JDBC и сотоварищей
- Работа с безопасностью и криптографией
- Фреймворк для тестирования кода
- итд
Пилю пока один, но community effort был бы очень к месту. Желающие - присоединяйтесь.