hslua- Bindings to Lua, an embeddable scripting language

Copyright© 2017-2019 Albert Krewinkel
MaintainerAlbert Krewinkel <tarleb+hslua@zeitkraut.de>
Safe HaskellNone




Lua exceptions and exception handling.



newtype Exception Source #

Exceptions raised by Lua-related operations.



catchException :: Lua a -> (Exception -> Lua a) -> Lua a Source #

Catch a Lua Exception.

throwException :: String -> Lua a Source #

Raise a Lua Exception containing the given error message.

withExceptionMessage :: (String -> String) -> Lua a -> Lua a Source #

Catch Lua Exception, alter the message and rethrow.

throwTopMessage :: Lua a Source #

Convert the object at the top of the stack into a string and throw it as an Exception.

try :: Lua a -> Lua (Either Exception a) Source #

Return either the result of a Lua computation or, if an exception was thrown, the error.

Helpers for hslua C wrapper functions.

newtype Failable a Source #

CInt value or an error, using the convention that value below zero indicate an error. Values greater than zero are used verbatim. The phantom type is used for additional type safety and gives the type into which the wrapped CInt should be converted.


Failable CInt 

fromFailable :: (CInt -> a) -> Failable a -> Lua a Source #

Convert from Failable to target type, throwing an error if the value indicates a failure.

throwOnError :: Failable () -> Lua () Source #

Throw a Haskell exception if the computation signaled a failure.

boolFromFailable :: Failable LuaBool -> Lua Bool Source #

Convert lua boolean to Haskell Bool, throwing an exception if the return value indicates that an error had happened.

Signaling errors to Lua

hsluaErrorRegistryField :: String Source #

Registry field under which the special HsLua error indicator is stored.

Orphan instances

Alternative Lua Source # 
Instance details


empty :: Lua a #

(<|>) :: Lua a -> Lua a -> Lua a #

some :: Lua a -> Lua [a] #

many :: Lua a -> Lua [a] #