WXやCocoaもあるみたいなんですが、Gtk慣れてるのもあるのでGtkで。
以前から、memcachedに対して簡単なコマンドをやり取りできるGUIクライアントを各言語でやってみようという一人プロジェクトをやっているのだけど、haskellって触った事が殆ど無かったのでやってみた。
module Main (Main.main) where
import Text.Regex
import Graphics.UI.Gtk as Gtk
import Network.Memcache
import Network.Memcache.Protocol
main :: IO ()
main = do
server textBufferInsert buf end ”ERROR\n”
”delete” -> do
let
key = (tt !! 1)
r textBufferInsert buf end ”OK\n”
False -> textBufferInsert buf end ”ERROR\n”
else
textBufferInsert buf end ”Unknown command\n”
Gtk.entrySetText entry ”“
Gtk.boxPackEnd vbox entry Gtk.PackNatural 0
Gtk.set window [ containerChild := vbox ]
Gtk.windowSetDefaultSize window 400 300
Gtk.widgetShowAll window
Gtk.widgetGrabFocus entry
Gtk.mainGUI
— vim: set et ts=2:
むむむー。haskell難しい。
なぜif-thenにelseが必須なのか、何故他の言語の変数というものに近い物が存在しないのか、Justってなんだよコノヤロ、gtk2hsのAPIがGTKっぽくないよ!とかいろいろ… http://j.mp/y4NKfW