Haskell

xmonadで透過ウィンドウ

まずはxcompmgrを立ち上げておく。~/.xinitrcや、~/.xsessionなどに書いておくと良いでしょう。 xcompmgr &xmonad側は設定ファイル(というか、Haskellのソース)をイジります。 % vi .xmonad/xmonad.hs以下の様にします。 import XMonad import XMonad.Hooks.…

ghc 〜日本語の扱い〜

いつになったらUTF-8に対応すんねん! と思いつつ、utf8-stringをインストールする今日この頃。 % HDB_ARCHIVE="http://hackage.haskell.org/packages/archive" % fetch $HDB_ARCHIVE/utf8-string/0.3.1/utf8-string-0.3.1.tar.gz % tar zxf utf8-string-0.3…

Haskellメモ 〜スコープ編〜

今回はHaskellのスコープについてのメモ。 main = do s <- getLine putStrLn str where str = "main: " ++ sと書くと、"Not in scope"エラー。モナドの関係か、名前空間が違うらしい。この場合、関数を挟んでやればいい。 main = do s <- getLine putStrLn (…

今更ながらHaskellのレイアウトについて

HaskellにはPythonと同じような「レイアウト」というモノがサポートされている。これは好き嫌いがあるが、括弧を量産しないという点でいいと思う。 しかし、コーディングスタイルによってはエラーを生み出してしまう諸刃の剣になってしまう。以下がその例。 …

Haskellインタプリタについてのメモ

HaskellインタプリタのGHCi、Hugsでは、以下の様なimportが出来ない。 GHCi, version 6.8.2: http://www.haskell.org/ghc/ :? for help Loading package base ... linking ... done. Prelude> import Network (connectTo) <interactive>:1:0: parse error on input `impor</interactive>…