hslua-packaging
Copyright© 2020-2026 Albert Krewinkel
LicenseMIT
MaintainerAlbert Krewinkel <tarleb@hslua.org>
Stabilityalpha
PortabilityPortable
Safe HaskellNone
LanguageHaskell2010

HsLua.Packaging.Types

Description

Marshaling and documenting Haskell functions.

Synopsis

Documented Lua objects

data Module e Source #

Named and documented Lua module.

Constructors

Module 

Fields

Instances

Instances details
HasDescription (Module e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getDescription :: Module e -> Text Source #

setDescription :: Module e -> Text -> Module e Source #

HasName (Module e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getName :: Module e -> Name Source #

setName :: Module e -> Name -> Module e Source #

data Field e Source #

Self-documenting module field

Constructors

Field 

Fields

Instances

Instances details
HasDescription (Field e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getDescription :: Field e -> Text Source #

setDescription :: Field e -> Text -> Field e Source #

HasName (Field e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getName :: Field e -> Name Source #

setName :: Field e -> Name -> Field e Source #

data DocumentedFunction e Source #

Haskell equivallent to CFunction, i.e., function callable from Lua.

Constructors

DocumentedFunction 

Fields

Instances

Instances details
HasName (DocumentedFunction e) Source # 
Instance details

Defined in HsLua.Packaging.Types

type DocumentedType e a = UDType e (DocumentedFunction e) a Source #

Type definitions containing documented functions.

Documentation types

data ModuleDoc Source #

Module documentation

Constructors

ModuleDoc 

Fields

Instances

Instances details
Show ModuleDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> ModuleDoc -> ShowS

show :: ModuleDoc -> String

showList :: [ModuleDoc] -> ShowS

Eq ModuleDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: ModuleDoc -> ModuleDoc -> Bool

(/=) :: ModuleDoc -> ModuleDoc -> Bool

Ord ModuleDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

compare :: ModuleDoc -> ModuleDoc -> Ordering

(<) :: ModuleDoc -> ModuleDoc -> Bool

(<=) :: ModuleDoc -> ModuleDoc -> Bool

(>) :: ModuleDoc -> ModuleDoc -> Bool

(>=) :: ModuleDoc -> ModuleDoc -> Bool

max :: ModuleDoc -> ModuleDoc -> ModuleDoc

min :: ModuleDoc -> ModuleDoc -> ModuleDoc

HasDescription ModuleDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

data FunctionDoc Source #

Documentation for a Haskell function

Constructors

FunDoc 

Fields

Instances

Instances details
Show FunctionDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> FunctionDoc -> ShowS

show :: FunctionDoc -> String

showList :: [FunctionDoc] -> ShowS

Eq FunctionDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: FunctionDoc -> FunctionDoc -> Bool

(/=) :: FunctionDoc -> FunctionDoc -> Bool

Ord FunctionDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

data TypeDoc Source #

Documentation of a data type.

Instances

Instances details
Show TypeDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> TypeDoc -> ShowS

show :: TypeDoc -> String

showList :: [TypeDoc] -> ShowS

Eq TypeDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: TypeDoc -> TypeDoc -> Bool

(/=) :: TypeDoc -> TypeDoc -> Bool

Ord TypeDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

compare :: TypeDoc -> TypeDoc -> Ordering

(<) :: TypeDoc -> TypeDoc -> Bool

(<=) :: TypeDoc -> TypeDoc -> Bool

(>) :: TypeDoc -> TypeDoc -> Bool

(>=) :: TypeDoc -> TypeDoc -> Bool

max :: TypeDoc -> TypeDoc -> TypeDoc

min :: TypeDoc -> TypeDoc -> TypeDoc

data ParameterDoc Source #

Documentation for function parameters.

Instances

Instances details
Show ParameterDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> ParameterDoc -> ShowS

show :: ParameterDoc -> String

showList :: [ParameterDoc] -> ShowS

Eq ParameterDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: ParameterDoc -> ParameterDoc -> Bool

(/=) :: ParameterDoc -> ParameterDoc -> Bool

Ord ParameterDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

data ResultsDoc Source #

Documentation for the return values of a function.

Constructors

ResultsDocList [ResultValueDoc]

List of individual results

ResultsDocMult Text

Flexible results

Instances

Instances details
Show ResultsDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> ResultsDoc -> ShowS

show :: ResultsDoc -> String

showList :: [ResultsDoc] -> ShowS

Eq ResultsDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: ResultsDoc -> ResultsDoc -> Bool

(/=) :: ResultsDoc -> ResultsDoc -> Bool

Ord ResultsDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

data ResultValueDoc Source #

Documentation for a single return value of a function.

Instances

Instances details
Show ResultValueDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> ResultValueDoc -> ShowS

show :: ResultValueDoc -> String

showList :: [ResultValueDoc] -> ShowS

Eq ResultValueDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Ord ResultValueDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

data FieldDoc Source #

Documentation for a module field.

Constructors

FieldDoc 

Instances

Instances details
Show FieldDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

showsPrec :: Int -> FieldDoc -> ShowS

show :: FieldDoc -> String

showList :: [FieldDoc] -> ShowS

Eq FieldDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

(==) :: FieldDoc -> FieldDoc -> Bool

(/=) :: FieldDoc -> FieldDoc -> Bool

Ord FieldDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

compare :: FieldDoc -> FieldDoc -> Ordering

(<) :: FieldDoc -> FieldDoc -> Bool

(<=) :: FieldDoc -> FieldDoc -> Bool

(>) :: FieldDoc -> FieldDoc -> Bool

(>=) :: FieldDoc -> FieldDoc -> Bool

max :: FieldDoc -> FieldDoc -> FieldDoc

min :: FieldDoc -> FieldDoc -> FieldDoc

HasDescription FieldDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

Type classes

class HasName a where Source #

Named objects

Methods

getName :: a -> Name Source #

setName :: a -> Name -> a Source #

Instances

Instances details
HasName (DocumentedFunction e) Source # 
Instance details

Defined in HsLua.Packaging.Types

HasName (Field e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getName :: Field e -> Name Source #

setName :: Field e -> Name -> Field e Source #

HasName (Module e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getName :: Module e -> Name Source #

setName :: Module e -> Name -> Module e Source #

class HasDescription a where Source #

Objects that have descriptions.

Methods

getDescription :: a -> Text Source #

setDescription :: a -> Text -> a Source #

Instances

Instances details
HasDescription FieldDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

HasDescription ModuleDoc Source # 
Instance details

Defined in HsLua.Packaging.Types

HasDescription (Field e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getDescription :: Field e -> Text Source #

setDescription :: Field e -> Text -> Field e Source #

HasDescription (Module e) Source # 
Instance details

Defined in HsLua.Packaging.Types

Methods

getDescription :: Module e -> Text Source #

setDescription :: Module e -> Text -> Module e Source #