Lua.Debug

lua-2.3.3: Lua, an embeddable scripting language

Copyright | © 2023-2024 Albert Krewinkel
License | MIT
Maintainer | Albert Krewinkel <tarleb@hslua.org>
Safe Haskell | None
Language | Haskell2010

Lua.Debug

Description

Haskell bindings to Lua's debug interface.

Synopsis

- lua_getupvalue :: State -> StackIndex -> CInt -> IO CString
- lua_setupvalue :: State -> StackIndex -> CInt -> IO CString

# Documentation

lua_getupvalue #

Arguments

:: State |
-> StackIndex | funcindex
-> CInt | n
-> IO CString |

Gets information about the `n`-th upvalue of the closure at index `funcindex`. It pushes the upvalue's value onto the stack and returns its name. Returns `NULL` (and pushes nothing) when the index `n` is greater than the number of upvalues.

See debug.getupvalue for more information about upvalues.

    [0, +(0|1), -]

lua_getupvalue.

lua_setupvalue #

Arguments

:: State |
-> StackIndex | funcindex
-> CInt | n
-> IO CString |

Sets the value of a closure’s upvalue. It assigns the value on the top of the stack to the upvalue and returns its name. It also pops the value from the stack.

Returns `NULL` (and pops nothing) when the index `n` is greater than the number of upvalues.

Parameters `funcindex` and `n` are as in the function `lua_getupvalue`.

    [-(0|1), +0, -]

lua_setupvalue.