Как я могу добавить дополнительный переключатель в Leksah?

Я хотел бы добавить в компилятор дополнительный ключ "-XDeriveDataTypeable".

В противном случае я хотел бы скомпилировать Typeable.

Где я могу сделать это в Leksah?


person Aftershock    schedule 29.04.2014    source источник
comment
если -1 должен быть обратной связью, | не знаю, о чем речь.. Это довольно бесполезно само по себе.   -  person Aftershock    schedule 29.04.2014
comment
Я не использовал Leksah, но я ожидал, что прагма сработает? Добавление {-# LANGUAGE DeriveDataTypeable #-} в первую строку вашего файла .hs не работает?   -  person iamnat    schedule 29.04.2014
comment
Я не согласен с отрицательными отзывами; Я предполагаю, что люди, проголосовавшие за закрытие, не знают, что -X что-то-или-другое является достаточной информацией для диагностики проблемы, потому что они не знают, что означает -X; классик я не понимаю, поэтому это непонятная логическая ошибка.   -  person AndrewC    schedule 29.04.2014


Ответы (1)


В общем

Вот решение вашей проблемы, не зависящее от редактора/идеи:

Для языковых расширений вы можете добавить это в начало исходного кода в качестве прагмы компилятора, что я все равно предпочитаю:

{-# LANGUAGE DeriveDataTypeable #-}

вместо -XDeriveDataTypeable в командной строке

Вы можете передать GHC другие параметры командной строки, например:

{-# OPTIONS_GHC -fno-warn-name-shadowing #-}

В Лексах

Leksah использует cabal для конфигурации сборки, поэтому особой магии Leksah нет, все стандартно, но вы можете использовать редактор пакетов в качестве графического интерфейса для редактирования файла cabal.

2/3 пути вниз - это раздел Extensions, где вы можете указать, какие языковые расширения вы хотите.

редактор пакетов

person AndrewC    schedule 29.04.2014
comment
Итак, в графическом интерфейсе нет места для добавления дополнительных флагов? - person Aftershock; 29.04.2014
comment
@Aftershock Да, есть. В редакторе пакетов (скриншот выше) нажмите extensions и добавьте туда расширение DeriveDataTypeable. Я не уверен, нужно ли ставить -XDeriveDataTypeable или только DeriveDataTypeable - попробуйте оба. Чтобы узнать о других флагах компилятора, перейдите к флагам пакета скриншот здесь - в примере показаны -prof и -auto-all. - person AndrewC; 29.04.2014
comment
@Aftershock Я по-прежнему предпочитаю помещать его в исходный код, потому что он более автономен, и другие люди с вашим файлом .hs получают правильные флаги компилятора бесплатно. - person AndrewC; 29.04.2014
comment
Это хорошо, я спросил, потому что подумал, что было бы неплохо узнать, как это работает в любом случае. - person Aftershock; 29.04.2014