Обратите внимание, что это не "функциональная зависимость". Существуют ли инструменты, позволяющие мне построить статический график зависимостей функций из исходного кода? Что-то, что указывает мне, какие функции зависят от каких других графически.
Инструменты для создания графика зависимостей функций Haskell (потока управления)?
Ответы (1)
Да, конечно есть. Если вы посмотрите на категорию Разработка на Hackage, вы найдем инструменты для:
- графическое отображение зависимостей пакетов -- nb требует более старой клики
- построение графика модульных зависимостей
- графическое отображение вызовов функций
- графическое отображение работающих структур данных
В частности, SourceGraph содержит множество проходов анализа, в том числе:
- визуализация вызовов функций
- вычисление цикломатической сложности
- визуализация импорта модуля
Другие инструменты, которые могут вас заинтересовать:
- HPC для визуализации тестового покрытия
- ThreadScope для визуализации поведения во время выполнения.
- lscabal, извлекать модули из пакета
Вот функциональный граф вызовов, созданный SourceGraph с помощью cabal2arch:
person
Don Stewart
schedule
07.08.2010
+1: Аргх, я собирался опубликовать то же самое. Я подозреваю, что SourceGraph ближе всего к тому, что нужно qrest.
- person C. A. McCann; 07.08.2010
не удалось установить SourceGraph .. кажется, что этот проект не обслуживается?
- person luochen1990; 08.02.2017
luochen1990, у меня такая же проблема. Проблема, по-видимому, в том, что авторы моего компилятора перешли на новую версию бинарного пакета, не убедившись, что все другие пакеты, использующие его, были готовы двигаться дальше, и не улучшив альтернативную кабалу для поддержки ситуации. Подозреваю, что со старой версией компилятора SourceGraph все равно будет работать со всеми своими байтами нетронутыми и полностью поддерживаемыми.
- person codeshot; 22.12.2017
Ссылка на SourceGraph больше не работает, но вот хакерский пакет: hackage.haskell.org/package/SourceGraph а>.
- person user905686; 28.05.2019
SourceGraph кажется мертвым. Любые альтернативы?
- person Petras Purlys; 07.07.2021
cabal
с помощьюBuild-depends
? - person Andriy Drozdyuk   schedule 25.03.2012