Я работаю над довольно простым текстовым редактором для Haskell, и я хотел бы иметь возможность выделять статические ошибки в коде, когда пользователь нажимает «проверить».
Есть ли способ использовать GHC-API для «пробной» компиляции файла haskell без его фактической компиляции? Я хотел бы иметь возможность взять строку и выполнить все проверки нормальной компиляции, но без вывода. GHC-API был бы идеальным, потому что тогда мне не пришлось бы анализировать вывод командной строки из GHC, чтобы выделять ошибки и тому подобное.
Кроме того, можно ли сделать эту проверку строки, а не файла? (Если нет, я могу просто записать его во временный файл, что не очень эффективно, но сработает).
Если это возможно, не могли бы вы предоставить или указать мне пример, как это сделать?
Этот вопрос задает то же самое , но это было три года назад, когда ответ был «GHC-API новый, и хорошей документации пока нет». Так что я надеюсь, что статус изменился.
РЕДАКТИРОВАТЬ: ограничение «пробного запуска» связано с тем, что я делаю это в веб-настройке, где компиляция происходит на стороне сервера, поэтому я хотел бы избежать ненужных операций чтения/записи диска каждый раз, когда пользователь нажимает «проверить». Исполняемый файл в любом случае будет просто выброшен, пока у них не будет версии, готовой к запуску.