2006-05-28
■ href 
処理系は以上でOK。次はリファレンスマニュアルだな。青木さんのhrefを入れてみよう。
ダウンロードして、href-0.3.1.tar.gzをgunzipして、tar xvfで展開。
C:\work\href-0.3.1>nmake
ghc -cpp --make -package network href.hs -o href
Chasing modules from: href.hs
Compiling PathUtils ( ./PathUtils.hs, ./PathUtils.o )
Compiling Utils ( ./Utils.hs, ./Utils.o )
Compiling HrefDatabase ( ./HrefDatabase.hs, ./HrefDatabase.o )
Compiling Main ( href.hs, href.o )
Linking ...
ghc -cpp --make -package network mkhref.hs -o mkhref
Chasing modules from: mkhref.hs
Skipping PathUtils ( ./PathUtils.hs, ./PathUtils.o )
Skipping Utils ( ./Utils.hs, ./Utils.o )
Skipping HrefDatabase ( ./HrefDatabase.hs, ./HrefDatabase.o )
Compiling Main ( mkhref.hs, mkhref.o )
Linking ...
C:\work\href-0.3.1>set HREF_DATADIR=C:/work/href-0.3.1
C:\work\href-0.3.1>mkhref ref/*.*
C:\work\href-0.3.1>href
Control.Exception Control.Monad Data.Char Data.List Data.Maybe
Data.Tuple System.Directory System.Environment System.IO Text.Regex
href putStrLnだと、EUCらしく文字化けするのでmoreで自動変換させることにする。
C:\work\href-0.3.1>href putStrLn | more
System.IO.putStrLn
putStrLn :: String -> IO () PRELUDE
putStrLn str
文字列 str と改行を標準出力 (stdout) に出力する。
see also: putStr, hPutStr, hPutStrLn
-- Hello, World プログラム
main = putStrLn "Hello, World!"
SICPのときのように、info.batというバッチファイルを作っちゃえ。
> type info.bat @echo off set HREF_DATADIR=C:\work\href-0.3.1 if "%1"=="" goto USAGE C:\work\href-0.3.1\href %1 | more goto END :USAGE echo info function :END
試してみよう。
> info putstrln
System.IO.putStrLn
putStrLn :: String -> IO () PRELUDE
putStrLn str
文字列 str と改行を標準出力 (stdout) に出力する。
see also: putStr, hPutStr, hPutStrLn
-- Hello, World プログラム
main = putStrLn "Hello, World!"
> info put
System.IO.putStr
System.IO.putStrLn
> info p
Data.List.partition
Data.List.product
System.IO.print
System.IO.putStr
System.IO.putStrLn
ふむふむ、いい感じ。
トラックバック - http://haskell.g.hatena.ne.jp/hyuki/20060528
こちらのhaskellグループについては、結城さんの意図がよくわかりました。同じように、sicpグループについても方針をお聞かせいただけないでしょうか。