Network.CGI
ghc-6.6.1 を入れてみました! ソースから入れようと思ったらどこかで文法エラーがでてうまくできなかった (ノ_<。)
ちょっとおおきすぎるし、インタプリタは速いとはいえないみたいなので、XREA にあげるときはコンパイル済みのをあげることにしました。でもコンパイルとリンクのほうほうがよくわからなくて試行錯誤 (笑)
#!runghc module Main where import Network.CGI cgiMain :: CGI CGIResult cgiMain = do setHeader "Content-Type" "text/html; charset=utf-8" output "Hello, World! Haskell!" main :: IO () main = runCGI $ handleErrors cgiMain
こんな感じのを書いて (shebung はデバッグ用です!)
ghc --make -o Hello.cgi Main.hs
こうすれば、勝手にリンクまでできちゃうみたい。
でも cgiMain の do の書きかたがわかってない (*ノ_<*)
setHeader :: MonadCGI m => String -> String -> m ()
ってなってるけど => ってなんだろう??? MonadCGI も見た目にはでてこないし、なんか暗黙的な参照ができるのかなぁ。ちゃんと Haskell の言語マニュアル読まなきゃ (笑)
cgiMain = setHeader "Content-Type" "text/html; charset=utf-8" >> output "Hello, World! Haskell!"
って書いてもおなじみたい。>> は左のモナドに右の関数を連結?するらしいけど、連結ってなんだろう( ̄〜 ̄;)??