Repository navigation
QLISP v2.7.2 — Tablet: детерминированный DataFrame-аналог pandas
QLISP 2.7.2 — Release Notes
Тег: v2.7.2 · Платформы: Linux x86_64, Windows x86_64
Бинарники — сборка CI (Linux: GCC/Ninja/OpenBLAS/OpenMP; Windows: MSYS2 MinGW64), коммит 9fd8d66 ветки main компиляторного репозитория (CI run 35897601582, зелёный). Состав: qlisp (REPL/интерпретатор + JIT), qlisp-lsp, qvalent.
| Файл | Платформа | Состав |
|---|---|---|
qlisp-linux-x86_64 |
Linux x86_64 | REPL/интерпретатор + JIT |
qlisp-lsp-linux-x86_64 |
Linux x86_64 | Language Server |
qvalent-linux-x86_64 |
Linux x86_64 | пакетный менеджер |
qlisp-windows-x86_64.zip |
Windows x86_64 | qlisp.exe, qlisp-lsp.exe, qvalent.exe |
SHA256SUMS — контрольные суммы всех файлов. Рантайм без LLVM: ldd qlisp — только OpenBLAS/GOMP/libstdc++.
Что нового
Tablet — детерминированный DataFrame-аналог pandas (T0–T9 закрыты)
- Новый вшитый модуль
stdlib/tablet.qlsp(~1300 строк чистого QLisp):tablet/tablet-from-rows,tcol/tcols-pick/trow/tloc/tiloc/twhere,thead/ttail,tdtypes,tastype,tcategorical,tstr-*,tiso-format. - Стабильные сортировки (
tsort, NA всегда в конец),tunique/tvalue-counts(тайбрейки по первому появлению), NA-дисциплина (tisna/tfillna/tdropna). - Группировки и соединения:
tgroupby/tgroup-agg(sum/mean/count/min/max/first/last),tmerge(inner/left/right/outer с зафиксированным порядком),tappend. - Статистика и окна:
tsum/tcol-mean/tcov/tcorr,tcumsum/tcummax/tcummin,trank(average-tie),tshift/tdiff,trolling/texpanding. - I/O:
tcsv-read(сам типизирует колонки; RFC-4180 с кавычками и переводами строк в полях),tcsv-write,tjson-rows/tfrom-json-rows,tcol->tensor(числовая колонка без NA → Tensor F32). - Контракт детерминизма: вывод побитово воспроизводим — порядок вставки, стабильные сортировки, отсортированные ключи groupby, зафиксированный порядок merge;
tests/tablet.qlsp— 156 проверок, включая батарею детерминизма (двойной прогон, immutability chain). - MultiIndex — явно вне области видимости модуля.
Ядро
- Строгий
if: ровно 2–3 аргумента; четвёртая форма — ошибка программы («if: too many forms (use cond or progn for branches)»), JIT-обход зеркалит проверку (TEMP_ISSUES #36). io:read-csvразворачивает переводы строк внутри кавычек (RFC-4180).datetime: гражданский календарь epoch→ISO дляtiso-format.
Инструменты
tools/qlsp-check.py— pre-commit проверка stdlib через диагностики qlisp-lsp и defun-outline; AGENTS.md фиксирует обязательный прогон.
Тесты: 64 сюита зелёные (Release, Linux), включая tablet.qlsp.