Можно ли инвертировать ошибки порядка?

При компиляции неисправной программы с GHC ошибки отображаются в порядке возрастания. Это приводит к тому, что первые ошибки выходят на консоль, поэтому вам нужно прокручивать вверх, если вы работаете, сначала исправляя первые ошибки, что может раздражать. Можно ли попросить GHC распечатать ошибки в порядке убывания очереди?

Ответ 1

Вы можете сделать это с помощью -freverse-errors опции -freverse-errors компилятора GHC. Поэтому вы должны скомпилировать его с помощью:

ghc -freverse-errors code.hs

Как и в документации, говорится:

-freverse-errors

Отображать ошибки в GHC/GHCi, отсортированные по обратному порядку номеров строк исходного кода.

Поскольку этот параметр является динамическим, вы можете установить этот параметр для каждого файла. Поэтому вы можете добавить следующее в файлы, для которых вы хотите включить это:

{-# OPTIONS_GHC -freverse-errors #-}

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