| 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 |
Lua.Ersatz
Description
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_pcalllua_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_pcalllua_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_pcalllua_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_pcalllua_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.
Arguments
| :: 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.