2013-02-17 2 views
12

Я знаю, что API GHC предоставляет мне использование as a library, доступ к функциям компилятора, таким как анализ, запуск и преобразование кодов Haskell. Программа Haskell, которая импортирует GHC в качестве пакета, будет при компиляции включать свою (частичную) копию GHC, таким образом, исполняемую даже в системах без установленной GHC.Подключение к системе GHC

Но что, если я не хочу включать GHC в программу и вместо этого использовать тот, который установлен в системе?

Так что, когда программе предоставляется код Haskell, она будет использовать GHC системы, чтобы понять ее и, при необходимости, импортировать все пакеты и библиотеки (те, которые доступны в GHCi).

  1. Предоставляет ли GHC (установленный на разных системах) такой API?
  2. Если да, то есть ли в документах по системной документации что-то подобное? (С которым я могу выбрать функцию из кода на Haskell, а затем посмотреть, чтобы увидеть тип подписи, информацию об использовании и так далее.)
+0

Не то, что вы просили, но как насчет использования 'runhaskell Test.hs' в качестве скрипта haskell? –

ответ

2

Вы можете требовать конечного пользователя установить либо BuildWrapper или scion, а затем взаимодействовать с ними программно. Если вы не хотите, чтобы эти пользователи устанавливали их, вы можете связать их код с вашим исполняемым файлом и иметь исполняемый вызов системы GHC, чтобы самостоятельно их создавать.

Смежные вопросы