-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | An interface for describing and executing terminal applications -- -- A quick and modular way to construct terminal interfaces. @package quickterm @version 0.2.4.0 module System.Console.Quickterm.Help type Help = Int -> String -- | A whitespace manipulation function indenting the whole text block. indent :: String -> Int -> String module System.Console.Quickterm.Deserializer -- | Deserializers are used in marshaling process of cmd-line parameters. newtype Deserializer a Deserializer :: ([Char] -> Int -> [(a, [Char], Int)]) -> Deserializer a [deserialize] :: Deserializer a -> [Char] -> Int -> [(a, [Char], Int)] -- | A pure computation abstraction layer for the Deserializer. tryConvert :: (String -> [(a, Int)]) -> Deserializer a instance GHC.Base.Functor System.Console.Quickterm.Deserializer.Deserializer instance GHC.Base.Applicative System.Console.Quickterm.Deserializer.Deserializer instance GHC.Base.Alternative System.Console.Quickterm.Deserializer.Deserializer instance GHC.Base.Monad System.Console.Quickterm.Deserializer.Deserializer instance GHC.Base.MonadPlus System.Console.Quickterm.Deserializer.Deserializer module System.Console.Quickterm.Description -- | A simple description for a section. data Description Description :: String -> Help -> Description -- | The name of a section. [nameD] :: Description -> String -- | The description of a section. [longD] :: Description -> Help class IsDescription f toDescription :: IsDescription f => f -> Description instance System.Console.Quickterm.Description.IsDescription GHC.Base.String instance System.Console.Quickterm.Description.IsDescription System.Console.Quickterm.Description.Description module System.Console.Quickterm.DSL module System.Console.Quickterm.CanMarshall -- | Handles marshaling from a cmd-line argument to a Haskell data type. class CanMarshall a -- | A default value for the generic atomic operation param. defaultM :: CanMarshall a => a -- | A help description for the generic atomic operation param. helpU :: CanMarshall a => a -> Int -> String -- | A deserializer declaration for the generic atomic operation -- param. deserializer :: CanMarshall a => Deserializer a -- | A conversion of a value to the predicted input. asInput :: CanMarshall a => a -> String instance System.Console.Quickterm.CanMarshall.CanMarshall GHC.Types.Int instance System.Console.Quickterm.CanMarshall.CanMarshall GHC.Base.String module System.Console.Quickterm.Internal -- | Quickterm represents a non-deterministic calculation of a most -- predictable |command based on a breadth-first parsing strategy. The -- Quickterm is applied |to a [String] to achieve parsing of command line -- arguments. newtype Quickterm a Quickterm :: (Int -> Help -> [String] -> [String] -> [(a, Int, Help, [String], [String])]) -> Quickterm a [runQuickterm] :: Quickterm a -> Int -> Help -> [String] -> [String] -> [(a, Int, Help, [String], [String])] param :: (CanMarshall a) => Quickterm a instance GHC.Base.Functor System.Console.Quickterm.Internal.Quickterm instance GHC.Base.Applicative System.Console.Quickterm.Internal.Quickterm instance GHC.Base.Alternative System.Console.Quickterm.Internal.Quickterm instance GHC.Base.Monad System.Console.Quickterm.Internal.Quickterm instance GHC.Base.MonadPlus System.Console.Quickterm.Internal.Quickterm module System.Console.Quickterm flag :: (IsDescription d, CanMarshall a) => d -> Quickterm a flag_ :: (IsDescription d) => d -> Quickterm () flags :: (IsDescription d) => [(d, Maybe String)] -> Quickterm [(String, String)] command :: (IsDescription d) => d -> Quickterm a -> Quickterm a command_ :: (IsDescription d) => d -> a -> Quickterm a -- | A simple description for a section. data Description Description :: String -> Help -> Description -- | The name of a section. [nameD] :: Description -> String -- | The description of a section. [longD] :: Description -> Help -- | Creates a section Quickterm. section :: (IsDescription d) => d -> [Quickterm a] -> Quickterm a -- | Creates a program Quickterm. program :: [Quickterm a] -> Quickterm a -- | Runs a quickterm application. quickterm :: Quickterm (IO ()) -> [String] -> IO () qtMain :: Quickterm (IO ()) -> IO ()