Я знаю, что API GHC предоставляет мне использование в качестве библиотеки, доступ к функциям компилятора, таким как анализ, запуск и преобразование кодов Haskell. Программа Haskell, которая импортирует GHC в качестве пакета, при компиляции будет включать свою собственную (частичную) копию GHC, поэтому она может исполняться даже в системах без установленной GHC.
Но что, если я не хочу включать GHC в программу и вместо этого использовать тот, который установлен в системе?
Итак, когда программе предоставляется код Haskell, она будет использовать системный GHC, чтобы понять это и, при необходимости, импортировать все пакеты и библиотеки (те, которые доступны в GHCi).
- Предоставляет ли GHC (установленный в разных системах) такой API?
- Если да, то предоставляют ли ресурсы документации системы что-то подобное? (С помощью которого я могу выбрать функцию из кода Haskell, а затем посмотреть, как увидеть подпись типа, информацию об использовании и т.д.)