- Разработчик Дмитрий Ковалёв создал проект ClickHaskell — реализацию собственного протокола и клиента для СУБД ClickHouse на языке Haskell.
- Исходный код ClickHaskell доступен на GitHub под лицензией BSD 3-Clause; проект подчеркивает типобезопасность, низкие зависимости и потокобезопасный сетевой код.
- 14 декабря 2025 года вышла версия ClickHaskell 1.0.0 с поддержкой новых типов данных, TLS, улучшениями CI/CD и расширенной функциональностью протокола.
Разработчик Дмитрий Ковалёв представил новый открытый проект под названием ClickHaskell — реализацию собственного протокола и клиента системы управления базами данных ClickHouse, выполненную на функциональном языке программирования Haskell. Исходный код решения опубликован на платформе GitHub под лицензией BSD 3-Clause, что гарантирует открытость и возможность свободного использования.
По словам автора, выбор в пользу связки ClickHouse и Haskell обусловлен философией обеих технологий. ClickHouse известна как быстрая и эффективная СУБД с открытым исходным кодом, ориентированная на интенсивную работу с данными и архитектуру, основанную на событиях. Аналогично, Haskell — язык, поддерживающий функциональное программирование и лямбда-выражения, что близко к внутреннему устройству ClickHouse.
ClickHaskell отличается уникальным типобезопасным API с минимальным использованием шаблонов, небольшим числом внешних зависимостей, а также потокобезопасным, хорошо документированным сетевым кодом. Проект поддерживает расширяемый конвейер CI/CD и частично формализует реализацию протокола ClickHouse, что обещает удобство разработки и интеграции. Вместе с тем, разработчик отмечает ограничения — наличие всего одного активного сопровождающего, пока что ограниченную поддержку функций протокола и статичность API.
14 декабря 2025 года была выпущена первая стабильная версия ClickHaskell 1.0.0. Среди ключевых нововведений — добавление команды function, расширенная поддержка типов данных Bool, DateTime64, UInt256, а также перечислений Enum8 и Enum16. Частично реализована работа с массивами Array(T) и поддержка передачи настроек сервера. Для повышения безопасности подключения включена поддержка TLS. Кроме того, улучшено разрешение ошибок ClickHaskell typeclass в среде Haskell Language Server (HLS), что содействует удобству разработки.
Таким образом, ClickHaskell становится заметным шагом в направлении создания типобезопасного, расширяемого и функционально ориентированного клиента для ClickHouse, что может заинтересовать разработчиков, предпочитающих проекты на Haskell и работающих с большими объемами данных.
