Copyright | © 2007–2012 Gracjan Polak; © 2012–2016 Ömer Sinan Ağacan; © 2017-2023 Albert Krewinkel |
---|---|
License | MIT |
Maintainer | Albert Krewinkel <tarleb@hslua.org> |
Stability | beta |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Ersatz functions for Lua API items which may, directly or indirectly, throw a Lua error.
Synopsis
- hslua_gettable :: State -> StackIndex -> Ptr StatusCode -> IO TypeCode
- hslua_getglobal :: State -> CString -> CSize -> Ptr StatusCode -> IO TypeCode
- hslua_settable :: State -> StackIndex -> Ptr StatusCode -> IO ()
- hslua_setglobal :: State -> CString -> CSize -> Ptr StatusCode -> IO ()
- hslua_error :: State -> IO NumResults
- hslua_next :: State -> StackIndex -> Ptr StatusCode -> IO LuaBool
- hslua_concat :: State -> NumArgs -> Ptr StatusCode -> IO ()
- hslua_compare :: State -> StackIndex -> StackIndex -> OPCode -> Ptr StatusCode -> IO LuaBool
- hsluaL_newstate :: IO State
- hsluaL_tolstring :: State -> StackIndex -> Ptr CSize -> IO (Ptr CChar)
Get functions (Lua -> stack)
hslua_gettable :: State -> StackIndex -> Ptr StatusCode -> IO TypeCode Source #
Behaves like
, but prevents
unrecoverable program crashes by calling that function through
lua_gettable
. Takes an additional status code pointer
that is set to the status returned by lua_pcall
lua_pcall
.
hslua_getglobal :: State -> CString -> CSize -> Ptr StatusCode -> IO TypeCode Source #
Behaves like
, but prevents
unrecoverable program crashes by calling that function through
lua_getglobal
. Takes an additional status code pointer
that is set to the status returned by lua_pcall
lua_pcall
.
Set functions (stack -> Lua)
hslua_settable :: State -> StackIndex -> Ptr StatusCode -> IO () Source #
Behaves like
, but prevents
unrecoverable program crashes by calling that function through
lua_settable
. Takes an additional status code pointer
that is set to the status returned by lua_pcall
lua_pcall
.
hslua_setglobal :: State -> CString -> CSize -> Ptr StatusCode -> IO () Source #
Behaves like
, but prevents
unrecoverable program crashes by calling that function through
lua_setglobal
. Takes an additional status code pointer
that is set to the status returned by lua_pcall
lua_pcall
.
Misc
hslua_error :: State -> IO NumResults Source #
Replacement for lua_error; it uses the HsLua error signaling convention instead of raw Lua errors.
hslua_next :: State -> StackIndex -> Ptr StatusCode -> IO LuaBool Source #
Wrapper around lua_next which catches any Lua errors.
hslua_concat :: State -> NumArgs -> Ptr StatusCode -> IO () Source #
Wrapper around lua_concat which catches any Lua errors.
:: State | |
-> StackIndex | index 1 |
-> StackIndex | index 2 |
-> OPCode | operator |
-> Ptr StatusCode | status |
-> IO LuaBool |
Compares two Lua values. Returns 1
if the value at index index1
satisfies op when compared with the value at index index2
,
following the semantics of the corresponding Lua operator (that is,
it may call metamethods). Otherwise returns 0
. Also returns 0
if
any of the indices is not valid.
The value of op must be one of the following constants:
LUA_OPEQ
: compares for equality (==)LUA_OPLT
: compares for less than (<)LUA_OPLE
: compares for less or equal (<=)
This function wraps lua_compare
and takes an additional parameter
status
; if it is not NULL
, then the return value is set to the
status after calling lua_compare
.
Auxiliary Library
hsluaL_newstate :: IO State Source #
Creates a new Lua state and set extra registry values for error bookkeeping.
hsluaL_tolstring :: State -> StackIndex -> Ptr CSize -> IO (Ptr CChar) Source #
Converts object to string, respecting any metamethods; returns
NULL
if an error occurs.