HsLua.Core.Debug

hslua-core-2.3.1: Bindings to Lua, an embeddable scripting language

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

HsLua.Core.Debug

Description

Bindings to Lua's debug interface.

Synopsis

- getupvalue :: StackIndex -> Int -> LuaE e (Maybe Name)
- setupvalue :: StackIndex -> Int -> LuaE e (Maybe Name)

# Documentation

getupvalue #

Arguments

:: StackIndex | funcindex
-> Int | n
-> LuaE e (Maybe Name) |

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 `Nothing` (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), -]

Wraps `lua_getupvalue`.

setupvalue #

Arguments

:: StackIndex | funcindex
-> Int | n
-> LuaE e (Maybe Name) |

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 `Nothing` (and pops nothing) when the index `n` is greater than the number of upvalues.

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

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

Wraps `lua_setupvalue`.