Я не проверял, но я думаю, что-то вроде этого работает.
flag foo
if impl(ghc > 7.10)
default: True
else
default: False
Даже если это не так, вы можете, по крайней мере, сделать так, чтобы ошибка появлялась раньше, сделав каждый строф неразборным в плохих конфигурациях, например
executable foo
if (impl(ghc > 7.10) && !foo) || (impl(ghc <= 7.10) && foo)
buildable: False