Ответ 1
[Отказ от ответственности: я сторонник wxHaskell]
Оба являются стабильными и довольно полными связями с GUI, и вы можете выбрать для большинства проектов с уверенностью. Оба имеют некоторую степень "привязки Haskell" более высокого уровня, но в обоих случаях вам нужно будет перейти в довольно настоящую кодировку стиля "C", чтобы все было сделано. Мое впечатление, что wxHaskell позволяет вам потратить немного больше времени на привязки более высокого уровня, но я не сделал много GTK2HS, и в любом случае вы определенно оказываетесь на тонком конце обертки для обеих библиотек - и я думаю, что общая сложность программирования одинакова в обоих случаях.
Поэтому давайте возьмем базовую функциональность как заданную и сосредоточимся на различиях. Обратите внимание, что я искренне верю, что GTK2HS - отличная работа, и что вы будете счастливы, если вы ее выберете. Большинство из того, что я говорю ниже, - это личный подход к различиям, и почему я предпочитаю работать и с самим wxHaskell.
GTK2HS имеет большую команду, которая работает над ней, и выходит более регулярно. wxHaskell не обновляется так часто, но основная команда активна, и есть регулярные исправления, но с добавлением новых новых функций гораздо медленнее, чем хотелось бы (у всех нас есть рабочие места).
wxHaskell дает истинный внешний вид приложения на всех поддерживаемых платформах из коробки. GTK2HS, конечно же, является родным для Linux и имеет довольно хорошую родную тему в Windows (то есть достаточно, чтобы удовлетворить всех, кроме педантов...), но GTK выглядит и ощущается на OSX и зависит от установки X11. Я считаю, что собственная "GTK-библиотека OSX" находится в разработке, но считается относительно незрелой. Как только это будет стабильно, GTK2HS сможет легко получить выгоду от того же "частично родного" внешнего вида (например, скриншот GTK OSX).
wxHaskell, вероятно, немного легче построить, если вы не используете Linux (GTK2HS, скорее всего, проще, если вы используете Linux), но, к сожалению, они довольно сложны, поскольку существует значительное количество зависимостей в оба случая.
Немного проще (IMHO) распространять приложения на основе wxHaskell, просто потому, что он имеет меньше зависимостей библиотек. Я распространяю приложения, используя, в основном, InnoSetup в Windows, а также приложения в OSX. Я бы признал, что с небольшим количеством дополнительной работы то же самое можно было бы сделать с GTK2HS, так что это, вероятно, самый слабый аргумент в пользу wxHaskell.
Мое личное мнение, что wxHaskell более дружелюбен к закрытым исходным (например, коммерческим) событиям. Это, конечно, тема бесконечных пламенных войн, поэтому я только скажу, что wxHaskell находится под wxWidgets license, который однозначно разрешает закрытый источник развитие. GTK2HS - LGPL, поэтому вам нужно спросить своего адвоката, хотя я должен четко указать, что многие люди и компании пришли к выводу, что LGPL совместим с коммерческой разработкой; юристы компании, в которой я работаю, пришли к выводу, что это не подходит для наших проектов.
Я думаю, что если бы Linux была моей основной платформой разработки и доставки, я бы, вероятно, использовал GTK2HS. Однако это не так: я поставляю в основном Windows со случайным OSX, и я думаю, что wxHaskell лучше подходит для этих платформ, хотя оба варианта поддерживают все три платформы.
Я надеюсь, что это поможет вам по вашему выбору.