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


9

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

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

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


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 ++.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.