Что это такое?
Библиотека на OCaml, которая строит граф объектов в куче и сохраняет его в формате DOT для Graphviz.
imielion/graphis — open-source проект на OCaml, который стоит оценить перед внедрением или доработкой.
Разработчикам на OCaml, которые отлаживают сложные структуры данных, ищут утечки памяти или изучают внутреннее устройство кучи.
При отладке OCaml-программ сложно понять, как объекты в куче ссылаются друг на друга. Стандартные инструменты не дают наглядной картины, а циклические ссылки и повторяющиеся значения трудно отследить вручную.
Graphis анализирует значения в куче OCaml и строит граф достижимых объектов. Вы указываете корневые объекты, а библиотека обходит ссылки, объединяет одинаковые физические значения в один узел и корректно обрабатывает циклы. Результат выводится в формате DOT, который можно визуализировать через Graphviz — получается понятная диаграмма связей.
Graphis — это библиотека на OCaml для интроспекции кучи. Она позволяет захватить контекст выполнения, указать корневые объекты и получить граф всех достижимых из них значений. Граф строится с учётом границ анализа псевдонимов: одинаковые объекты отображаются одним узлом, циклы обрываются через множество посещённых. Результат можно вывести в stdout или записать в файл в формате DOT для Graphviz. Проект небольшой (13...
Название Graphis — игра слов: graph (граф) + is (есть), а ещё созвучно с 'graphics' (графика).
Да, если вы пишете на OCaml и хотите наглядно отлаживать структуры данных. Проект маленький, но делает ровно то, что обещает — без лишних зависимостей.
Проект стабилен, но обновлений давно не было — видимо, функционал уже достаточен.
Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.
Библиотека на OCaml, которая строит граф объектов в куче и сохраняет его в формате DOT для Graphviz.
Для разработчиков на OCaml, которые отлаживают сложные структуры данных или ищут утечки памяти.
Если проект подходит под ваш сценарий, можем помочь с установкой, интеграцией, доработкой или аккуратным форком под вашу инфраструктуру.