青木です。

コマンドラインからリファレンスを索くツールを作りました。
Ruby な方は「ri / refe の Haskell 版」と言えばわかるかと
思います。以下 README から引用します。

  引数なしだとドキュメントの存在するモジュールを表示します。

    % href
    Control.Exception Control.Monad Data.Char Data.List 
    System.Directory System.Environment System.IO Text.Regex 

  引数が一つのときは、先頭が大文字ならモジュール、
  小文字なら関数とみなして補完検索します。

    % href fold           # fold で始まる関数を検索
    Data.List.foldl Data.List.foldl1 Data.List.foldr Data.List.foldr1 

    % href foldr          # 関数 foldr の検索
    Data.List.foldr
    foldr (f init xs) :: (a -> b -> b) -> b -> [a] -> b    PRELUDE

        xs の最後の要素と init から始めて、
        xs の後ろから二番目の要素と最初の返り値、
    (以下略)

    % href Dat            # Dat で始まるモジュール
    Data.Char Data.List 

    % href Data.List
    ---- module Data.List
    !! ++ \\ all and any break concat concatMap cycle 
    delete deleteBy deleteFirstsBy drop dropWhile elem elemIndex 
    elemIndices filter find findIndex findIndices foldl foldl1 foldr 
    foldr1 genericDrop genericIndex genericLength genericReplicate 
    genericSplitAt genericTake group groupBy head init inits insert insertBy 
    intersect intersectBy intersperse isPrefixOf isSuffixOf iterate 
    last length lines lookup map mapAccumL mapAccumR maximum 
    maximumBy minimum minimumBy notElem nub nubBy null or partition 
    product repeat replicate reverse scanl scanl1 scanr scanr1 
    sort sortBy span splitAt sum tail tails take takeWhile 
    transpose unfoldr union unionBy unlines unwords unzip unzip3 
    unzip4 unzip5 unzip6 unzip7 words zip zip3 zip4 zip5 zip6 
    zip7 zipWith zipWith3 zipWith4 zipWith5 zipWith6 zipWith7 

  引数が二つのときはモジュール名と関数名だとみなします。

    % href Data.L cyc
    Data.List.cycle
    cycle (xs) :: [a] -> [a]    PRELUDE

	リスト xs の最初と最後をつなげ環状にしたリストを返す。
    (以下略)


もちろん元データがないと意味がないので、やむをえず自分で
書きました。Data.List あたりはだいたい終わってます。元データ
はパッケージの ref/ に入ってるので、見てみてください。
パッチ歓迎です。


[パッケージ]

以下のところに置きました。

  * http://i.loveruby.net/archive/href/href-0.1.0.tar.gz

動作確認は Hugs 2002 Dec / Linux, Solaris9 でしかしてません。
たぶん Windows でも動くと思うんですが、パスセパレータは / で
ないと誤動作します。


[バグ]

死ぬほど遅い。

-------------------------------------------------------------------
青木峰郎

--
ML: haskell-jp / quickml.com
使い方: http://QuickML.com/