packages feed

lambdabot-4.2.1: Plugin/Free.hs

{-# LANGUAGE TemplateHaskell, MultiParamTypeClasses #-}
-- | Free theorems plugin
-- Andrew Bromage, 2006
module Plugin.Free where

import Plugin
import Plugin.Free.FreeTheorem
import Plugin.Type (query_ghci)

$(plugin "Free")

instance Module FreeModule () where
    moduleCmds _  = ["free"]
    moduleHelp _ _= "free <ident>. Generate theorems for free"
    process_ _ _ xs = do result <- freeTheoremStr (liftM unlines . lift . query_ghci ":t") xs
                         return . (:[]) . concat . intersperse " " . lines $ result