Haskell GUI: ile można zrobić z Haskell?

9

Chciałem wypróbować grafikę w Haskell. Z tego, co widziałem, dostępne biblioteki są albo interfejsami do bibliotek C / C ++, albo ich abstrakcją z minimalnymi funkcjami. Biblioteki wysokiego poziomu nie wydają się odpowiadać moim potrzebom, dlatego pozostały mi interfejsy niższego poziomu.

Potrzebuję renderować kafelki i tekst - podstawy bardzo prostej gry. Wiem, jak to zrobić w C, i pomyślałem, że mogę napisać grafikę w C i połączyć ją z Haskellem. Alternatywą jest napisanie grafiki za pomocą biblioteki Haskell.

Moje pytanie brzmi: czy dostępne biblioteki Haskell mogą osiągnąć to, czego chcę? Nie chcę się pochylać do tyłu; jeśli C może to zrobić lepiej, niż chciałbym wiedzieć.

Pubby
źródło
1
Ile należy zrobić, nie da się odpowiedzieć, jeśli nie powiesz nam, co musisz zrobić. Ile można zrobić, to inne pytanie, które może dotyczyć nawet tematu.
yannis,
Cześć, Pubby8, jeśli możesz zaktualizować swoje pytanie dokładnie tym, co próbujesz zrobić, co skłoniło Cię do myślenia o tym, zachęcamy do zgłoszenia go do ponownego otwarcia.
2
Dlaczego nie skorzystać z SDL? To niski poziom (dla Haskella), tak, ale nie sądzę, że pisanie grafiki w C dałoby ci znaczne korzyści.
Anton Barkovsky,

Odpowiedzi:

7

SDL to doskonała biblioteka z dobrymi powiązaniami Haskell - i pokrewnymi bibliotekami obrazów , audio i tekstu - dla których istnieje wystarczająco dużo samouczków , aby oderwać się od ziemi; ponieważ jest raczej niski, wymaga trochę staranności, aby utrzymać ładność i funkcjonalność, ale z mojego doświadczenia SDL i Haskell tworzą doskonałą kombinację.

Jon Purdy
źródło
Użyłem wcześniej SDL jako biblioteki C. Jak podobna jest wersja Haskell do wersji C?
Pubby
@ Pubby8: Są dość podobne. Cała wersja Haskell naprawdę wyjaśnia, co IOsię dzieje.
Jon Purdy,
+1, popieram tę rekomendację. Używam SDL z Haskellem do kodowania małej gry 2D, na razie bez żadnych problemów.
Andres F.,
2

Jeśli pytasz, czy istnieje dobra alternatywa dla C / C ++ dla haskell, która dobrze robi GUI, nie szukaj dalej: http://qt-project.org/

Zdecydowanie najsilniejszy framework GUI dostępny dla C ++.

Jeśli jednak twoje pytanie brzmiało: „znajdź mi coś lepszego w haskell”, to nie mogę ci pomóc: /

Arnab Datta
źródło