HsLua.Core.Run

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

Copyright | © 2007–2012 Gracjan Polak; © 2012–2016 Ömer Sinan Ağacan; © 2017-2022 Albert Krewinkel
License | MIT
Maintainer | Albert Krewinkel <tarleb+hslua@zeitkraut.de>
Stability | beta
Portability | non-portable (depends on GHC)
Safe Haskell | Safe-Inferred
Language | Haskell2010

HsLua.Core.Run

Description

Helper functions to run `LuaE` computations.

Synopsis

- run :: LuaE e a -> IO a
- runEither :: Exception e => LuaE e a -> IO (Either e a)
- runWith :: State -> LuaE e a -> IO a

# Documentation

run :: LuaE e a -> IO a #

Run Lua computation using the default HsLua state as starting point. Exceptions are masked, thus avoiding some issues when using multiple threads. All exceptions are passed through; error handling is the responsibility of the caller.

runEither :: Exception e => LuaE e a -> IO (Either e a) #

Run the given Lua computation; exceptions raised in Haskell code are caught, but other exceptions (user exceptions raised in Haskell, unchecked type errors, etc.) are passed through.

runWith :: State -> LuaE e a -> IO a #

Run Lua computation with the given Lua state. Exception handling is left to the caller; resulting exceptions are left unhandled.