タンブラー?

Big Sky

1月 10 '12

HaskellでGUI

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

1リアクション

  1. mattnの投稿です