Описание тега ghc-api

2 ответа

Haskell: Можно ли скомпилировать функцию?

Рассмотрим простой интерпретатор языка Haskell Brainf * ck. Просто посмотрите на interpret функция. import Prelude hiding (Either(..)) import Control.Monad import Data.Char (ord, chr) -- function in question interpret :: String -> IO () interpret…
19 июл '18 в 04:29
1 ответ

Поиск пакетов для клики при использовании GHC API

Я пытаюсь создать программу, которая проверяет файлы haskell для меня, используя GHC API. Я получил проверку типов для работы с локальными файлами, но у меня есть специальный пакет cabal, который мне также нужно иметь (тот же пакет, частью которого …
03 сен '12 в 10:59
1 ответ

Как заставить интерпретацию в подсказке

Как включить режим интерпретации в подсказке (Language.Haskell.Interpreter)? У меня есть этот код: module Main where import Language.Haskell.Interpreter import Control.Monad main = do res <- runInterpreter (test "test") case res of Left e -> p…
21 авг '11 в 09:21
0 ответов

Динамическая загрузка API GHC работает только с модулями из установленных пакетов?

Я стараюсь следовать пути, описанному в ответе на этот вопрос. я имею ExampleModule.o а также ExampleModule.hi файлы в рабочем каталоге и я пытаюсь загрузить ExampleModule.f функция. Но я получаю сообщение об ошибке (с уровнем детализации 3): Failed…
15 фев '12 в 21:47
1 ответ

Как скомпилировать Haskell в нетипизированное лямбда-исчисление (или ядро ​​GHC)?

Я ищу способы, как преобразовать простую программу на Haskell (без импортированных библиотек, только типы данных и чистые функции) в термин нетипизированного лямбда-исчисления. Похоже, многообещающим подходом является использование GHC API для компи…
24 дек '14 в 10:05
1 ответ

GHC-MTL не в состоянии построить с GHC-7,8

Я пытаюсь собрать ghc-mtl-1.2.1.0 с ghc-7.8.3, и я получаю эти сообщения об ошибках: Control/Monad/Ghc.hs:42:15: No instance for (GHC.MonadIO Ghc) arising from the 'deriving' clause of a data type declaration Possible fix: use a standalone 'deriving…
19 июл '14 в 20:20
1 ответ

Haskell, GHC 8: модуль динамической загрузки / импорта

Мне нужно что-то вроде -- Main.hs module Main where main :: IO () main = do <import Plugin> print Plugin.computation С плагином вроде -- Plugin.hs module Plugin where computation :: Int computation = 4 Тем не менее, мне нужно, чтобы плагин был…
06 дек '17 в 17:54
1 ответ

Haskell GHC Dynamic Compliation работает только при первой компиляции

Следуя опубликованному здесь руководству по GHC и изменениям в этом коде, следуя советам из предыдущего вопроса о переполнении стека, я создал программу, которая может компилировать и запускать модуль в Test.hs с функцией print для печати строки в э…
2 ответа

Использование GHC API для компиляции исходников Haskell в CORE и CORE в двоичный файл

Идея Здравствуйте! Я хочу создать программу, которая будет генерировать ядро ​​Haskell и использовать GHC API для дальнейшей компиляции в исполняемый файл. Но прежде чем я сделаю это, я хочу построить очень простой пример, показывающий, как мы можем…
21 янв '15 в 04:34
4 ответа

Нужен учебник по использованию GHC для разбора и проверки типов Haskell

Я работаю над проектом по анализу кода на Haskell. Я решил использовать GHC для разбора исходных текстов и типов, а не писать собственный код для этого. Прямо сейчас, я пробираюсь через документы Хэддока, но это медленно. Кто-нибудь знает хороший уч…
11 фев '10 в 07:52
2 ответа

Компиляция в GHC Core

Я хотел бы создать внешний интерфейс для простого языка, который будет производить GHC Core. Я хотел бы затем взять этот вывод и запустить его через обычный конвейер GHC. Согласно этой странице, это невозможно напрямую из команды ghc. Мне интересно,…
19 янв '12 в 13:40
0 ответов

Использование GHC API для компиляции программы с оптимизацией

Я хочу скомпилировать модуль Haskell для GHC Core с примененной оптимизацией и использовать полученный в результате вывод ядра. Тем не менее, когда я использую compileToCoreSimplified Кажется, он не запускает все обычные оптимизации. Принимая програ…
20 июн '18 в 20:56
1 ответ

Рассматривая строку как программу на Haskell

Как небольшая часть более крупного университетского проекта, мне нужно написать то, что по сути является чрезвычайно сырой IDE. Идея состоит в том, чтобы взять ввод из текстового поля gtk, обработать эту строку, как будто она находится в файле.hs, и…
09 янв '13 в 16:10
3 ответа

Оценка операторов / выражений на языке Haskell с использованием GHC API

Для инструмента, который я пишу ( http://hackage.haskell.org/package/explore), мне нужен способ чтения определений функций haskell во время выполнения, применения их к значениям из моего инструмента и получения результатов их применения., Кто-нибудь…
16 мар '10 в 00:12
0 ответов

Советы по внедрению статического анализа всей программы для Haskell

В рамках исследовательского проекта по тестированию на основе свойств мне нужно провести статический анализ всей программы программ на Haskell. Я ищу предложения о том, как реализовать анализ программ на Haskell по всем программам, надеюсь, без созд…
1 ответ

Использование GHC API из GHC, скомпилированного из исходного кода

Я хотел бы, чтобы в клиентской программе использовался GHC API из модифицированной версии GHC. Достаточно легко получить исходные коды GHC, создать и установить модифицированный GHC, но установка модифицированного GHC приводит к разрыву всех более с…
19 май '11 в 23:37
1 ответ

Почему напрямую импортируемые функции в GHC так сильно отличаются от функций, которые я пишу, с исходным кодом, скопированным из библиотек GHC

module Has (r,p,s) where import Prelude ((==),Bool(..),otherwise,(||),Eq) import qualified Data.List as L filter :: (a -> Bool) -> [a] -> [a] filter _pred [] = [] filter pred (x:xs) | pred x = x : filter pred xs | otherwise = filter pred xs…
1 ответ

Использование GHC API для "пробного запуска" компиляции кода

Я работаю над довольно простым текстовым редактором для Haskell, и я хотел бы иметь возможность выделять статические ошибки в коде, когда пользователь нажимает "проверить". Есть ли способ использовать GHC-API для "пробного запуска" компиляции файла …
1 ответ

Определить ModuleName загруженной цели

Мне было интересно, как вы определяете ModuleName файла, который вы только что загрузили в GHC, используя API. Если вы посмотрите Документацию API, они всегда предполагают, что вы знаете имя модуля, прежде чем загружать файл в. Я попытался отсортиро…
20 авг '12 в 14:36
1 ответ

Динамическая загрузка скомпилированного модуля Haskell - GHC 7.6

Я пытаюсь динамически компилировать и загружать модули Haskell, используя GHC API. Я понимаю, что API сильно колеблется от одной версии к другой, поэтому я специально говорю о GHC 7.6.*. Я попытался запустить один и тот же код на MacOS и Linux. В об…
29 май '13 в 05:55