hslua-packaging
Copyright© 2019-2026 Albert Krewinkel
LicenseMIT
MaintainerAlbert Krewinkel <tarleb@hslua.org>
Stabilityalpha
PortabilityRequires GHC 8 or later.
Safe HaskellNone
LanguageHaskell2010

HsLua.Packaging.Module

Description

Utility functions for HsLua modules.

Synopsis

Documented module

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 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 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 #

Constructors

Module

defmodule :: Name -> Module e Source #

Define a Lua module.

withFields :: Module e -> [Field e] -> Module e infixl 0 Source #

Set the list of module fields.

withFunctions :: Module e -> [DocumentedFunction e] -> Module e infixl 0 Source #

Set the list of functions in the module.

withOperations :: Module e -> [(Operation, DocumentedFunction e)] -> Module e infixl 0 Source #

Set operations that can be performed on the module object.

associateType :: LuaError e => Module e -> DocumentedType e a -> Module e infixl 0 Source #

Associate a type with this module. An associated type is listed in the module documentation.

renameTo :: HasName a => a -> Name -> a Source #

Gives a different name

Field

deffield :: Name -> Field e Source #

Create a new module field.

withType :: Field e -> TypeSpec -> Field e infixl 0 Source #

Set a specific type for a field.

withDescription :: HasDescription a => a -> Text -> a infixl 0 Source #

Sets a textual description

withValue :: Field e -> LuaE e () -> Field e infixl 0 Source #

Add a value pusher to a field.

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 #

Module Loading

registerModule :: LuaError e => Module e -> LuaE e () Source #

Registers a Module; leaves a copy of the module table on the stack.

preloadModule :: LuaError e => Module e -> LuaE e () Source #

Preload self-documenting module using the module's default name.

preloadModuleWithName :: LuaError e => Module e -> Name -> LuaE e () Source #

Add the module under a different name to the table of preloaded packages.

pushModule :: LuaError e => Module e -> LuaE e () Source #

Pushes a documented module to the Lua stack.

data Operation #

Instances

Instances details
Show Operation # 
Instance details

Defined in HsLua.ObjectOrientation.Operation

Methods

showsPrec :: Int -> Operation -> ShowS

show :: Operation -> String

showList :: [Operation] -> ShowS

Eq Operation # 
Instance details

Defined in HsLua.ObjectOrientation.Operation

Methods

(==) :: Operation -> Operation -> Bool

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

Ord Operation # 
Instance details

Defined in HsLua.ObjectOrientation.Operation

Methods

compare :: Operation -> Operation -> Ordering

(<) :: Operation -> Operation -> Bool

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

(>) :: Operation -> Operation -> Bool

(>=) :: Operation -> Operation -> Bool

max :: Operation -> Operation -> Operation

min :: Operation -> Operation -> Operation