Haskell GUI: Wie viel kann mit Haskell getan werden?

9

Ich wollte Grafiken in Haskell ausprobieren. Soweit ich gesehen habe, sind die verfügbaren Bibliotheken entweder Frontends für C / C ++ - Bibliotheken oder eine Abstraktion davon mit minimalen Funktionen. Die Bibliotheken auf hoher Ebene scheinen nicht meinen Anforderungen zu entsprechen, und so bleiben mir Frontends auf niedrigerer Ebene.

Was ich brauche, ist das Rendern von Kacheln und Text - Grundlagen für ein sehr einfaches Spiel. Ich weiß, wie man das mit C macht, und dachte, ich könnte die Grafiken in C schreiben und sie mit Haskell verbinden. Die Alternative besteht darin, die Grafiken mit einer Haskell-Bibliothek zu schreiben.

Meine Frage ist, können verfügbare Haskell-Bibliotheken das erreichen, was ich will? Ich möchte mich nicht nach hinten beugen; ob C es besser kann, als ich gerne wissen würde.

Pubby
quelle
1
Wie viel getan werden sollte, ist nicht zu beantworten, wenn Sie uns nicht sagen, was Sie tun müssen. Wie viel getan werden könnte , ist eine andere Frage, die möglicherweise sogar zum Thema gehört.
Yannis
Hallo Pubby8, wenn Sie Ihre Frage mit dem, was Sie genau tun möchten, aktualisieren können, über das Sie nachdenken, können Sie sie zum erneuten Öffnen markieren.
2
Warum nicht SDL verwenden? Es ist auf niedrigem Niveau (für Haskell), ja, aber ich glaube nicht, dass das Schreiben von Grafiken in C Ihnen erhebliche Vorteile bringen würde.
Anton Barkovsky

Antworten:

7

SDL ist eine ausgezeichnete Bibliothek mit guten Haskell-Bindungen - und verwandten Bibliotheken für Bilder , Audio und Text - , für die genügend Tutorials vorhanden sind, um Sie auf den Weg zu bringen. Da es eher niedrig ist, erfordert es ein wenig Sorgfalt, um die Dinge schön und funktional zu halten, aber meiner Erfahrung nach bilden SDL und Haskell eine hervorragende Kombination.

Jon Purdy
quelle
Ich habe SDL bereits als C-Bibliothek verwendet. Wie ähnlich ist die Haskell-Version der C-Version?
Pubby
@ Pubby8: Sie sind ziemlich ähnlich. Alles, was die Haskell-Version wirklich tut, ist zu erklären, wo IOes passiert.
Jon Purdy
+1, ich stimme dieser Empfehlung zu. Ich verwende SDL mit Haskell, um ein kleines 2D-Spiel zu codieren, bisher ohne Probleme.
Andres F.
2

Wenn Sie sich fragen, ob es eine gute C / C ++ - Alternative zu haskell gibt, die die grafische Benutzeroberfläche gut unterstützt, suchen Sie nicht weiter: http://qt-project.org/

Auf jeden Fall das stärkste GUI-Framework für C ++.

Wenn Ihre Frage jedoch "Finde mir etwas Besseres in Haskell" war, kann ich dir nicht helfen: /

Arnab Datta
quelle