2013-12-17 63 views
4

我想寫一個GHCi宏,它通過過濾結果列表(基本上,簡單的grep:browse:輸出)來增強:browse。例如,要查看所有輸出包括單詞Monad更好的`:browse`命令(GHCi)

Prelude> :mybrowse Prelude Monad 
(=<<) :: Monad m => (a -> m b) -> m a -> m b 
class Monad m where 
mapM :: Monad m => (a -> m b) -> [a] -> m [b] 
mapM_ :: Monad m => (a -> m b) -> [a] -> m() 
sequence :: Monad m => [m a] -> m [a] 
sequence_ :: Monad m => [m a] -> m() 
Prelude> 

我看不到的方式來實現這一點使用:def。有沒有辦法?

+0

我假設你知道':i'? – fjh

+0

是的。也許一個更好的例子會顯示所有采用[a]參數的函數。我會更新。 –

+0

你可以在本地安裝hoogle。 –

回答

2

幾年前做過這樣的事情(還有更多),並把它寫成教程。不知道是否仍然會正常工作,但一看

http://www.haskell.org/haskellwiki/Ghci#Using_.ghci.2C_a_mini-tutorial

+0

優秀的東西! –

+0

您鏈接到的郵件(http://www.haskell.org/pipermail/haskell-cafe/2007-September/032260.html)實際上包含'grep'的定義!你也寫過那個原稿嗎? @claus –

+0

@JustinBailey是的,那是我的電子郵件:-) – claus