lua-2.3.1: Lua, an embeddable scripting language
Copyright© 2017-2023 Albert Krewinkel
LicenseMIT
MaintainerAlbert Krewinkel <tarleb@hslua.org>
Stabilitybeta
PortabilityForeignFunctionInterface
Safe HaskellSafe-Inferred
LanguageHaskell2010

Lua.Userdata

Description

Bindings to HsLua-specific functions used to push Haskell values as userdata.

Synopsis

Documentation

hslua_fromuserdata Source #

Arguments

:: State 
-> StackIndex

userdata index

-> CString

name

-> IO (Maybe a) 

Retrieves a Haskell object from userdata at the given index. The userdata must have the given name.

hslua_newhsuserdatauv Source #

Arguments

:: State 
-> a

value to be wrapped

-> CInt

nuvalue

-> IO () 

Creates a new userdata wrapping the given Haskell object, with nuvalue associated Lua values (uservalues).

hslua_newudmetatable Source #

Arguments

:: State

Lua state

-> CString

Userdata name (__name)

-> IO LuaBool

True iff new metatable was created.

Creates and registers a new metatable for a userdata-wrapped Haskell value; checks whether a metatable of that name has been registered yet and uses the registered table if possible.

hslua_putuserdata Source #

Arguments

:: State 
-> StackIndex

index

-> CString

name

-> a

new Haskell value

-> IO Bool 

Replaces the Haskell value contained in the userdata value at index. Checks that the userdata is of type name and returns True on success, or False otherwise.