GUI Haskell: сколько можно сделать с помощью Haskell?

9

Я давно хотел попробовать графику на Хаскеле. Из того, что я видел, доступные библиотеки являются либо интерфейсами к библиотекам C / C ++, либо их абстракцией с минимальными возможностями. Библиотеки высокого уровня, кажется, не удовлетворяют моим потребностям, и поэтому у меня остаются внешние интерфейсы более низкого уровня.

Что мне нужно, так это рендерить плитки и текст - основы для очень простой игры. Я знаю, как сделать это с C, и думал, что смогу написать графику на C и связать ее с Haskell. Альтернативой является написание графики с использованием библиотеки Haskell.

Мой вопрос: могут ли доступные библиотеки на Haskell достичь того, чего я хочу? Я не хочу наклоняться назад; если С может сделать это лучше, чем я хотел бы знать.

Pubby
источник
1
Сколько нужно сделать, не подлежит обсуждению, если вы не скажете нам, что вам нужно сделать. Как много можно сделать - это другой вопрос, который может даже касаться темы.
Яннис
Здравствуйте, Pubby8, если вы можете обновить свой вопрос тем, что именно вы пытаетесь сделать, что заставило вас задуматься об этом, не стесняйтесь пометить его для повторного открытия.
2
Почему бы не использовать SDL? Это низкоуровневый (для Haskell), да, но я не думаю, что написание графики на C даст вам значительные преимущества.
Антон Барковский

Ответы:

7

SDL - это отличная библиотека с хорошими привязками на Haskell - и связанными библиотеками для изображений , аудио и текста - для которых существует достаточно учебных пособий, которые помогут вам освоиться; будучи довольно низкоуровневым, он требует некоторой осторожности, чтобы держать вещи красивыми и функциональными, но по моему опыту SDL и Haskell составляют превосходную комбинацию.

Джон Перди
источник
Я использовал SDL раньше в качестве библиотеки C. Насколько версия Haskell похожа на версию C?
Пабби
@ Pubby8: они очень похожи. Все, что на самом деле делает версия на Haskell - это объяснить, где IOпроисходит.
Джон Пурди
+1, я вторую эту рекомендацию. Я использую SDL с Haskell для кодирования небольшой 2D-игры, пока без проблем.
Андрес Ф.
2

Если вы спрашиваете, есть ли хорошая альтернатива haskell для C / C ++, которая хорошо работает с графическим интерфейсом, то не смотрите дальше: http://qt-project.org/

Определенно самая сильная GUI-инфраструктура для C ++.

Однако, если ваш вопрос был «найди мне что-нибудь лучшее в хаскеле», то я не могу помочь тебе: /

Арнаб Датта
источник