hslua-0.9.5.2: A Lua language interpreter embedding in Haskell

Copyright© 2007–2012 Gracjan Polak
2012–2016 Ömer Sinan Ağacan
2017 Albert Krewinkel
LicenseMIT
MaintainerAlbert Krewinkel <tarleb+hslua@zeitkraut.de>
Stabilitybeta
PortabilityFlexibleInstances, ScopedTypeVariables
Safe HaskellNone
LanguageHaskell98

Foreign.Lua.Types.FromLuaStack

Description

Sending haskell objects to the lua stack.

Synopsis

Documentation

class FromLuaStack a where #

A value that can be read from the Lua stack.

Minimal complete definition

peek

Methods

peek :: StackIndex -> Lua a #

Check if at index n there is a convertible Lua value and if so return it. Throws a LuaException otherwise.

Instances

FromLuaStack Bool # 

Methods

peek :: StackIndex -> Lua Bool #

FromLuaStack () # 

Methods

peek :: StackIndex -> Lua () #

FromLuaStack ByteString # 
FromLuaStack ByteString # 
FromLuaStack Text # 

Methods

peek :: StackIndex -> Lua Text #

FromLuaStack LuaNumber # 
FromLuaStack LuaInteger # 
FromLuaStack CFunction # 
FromLuaStack LuaState # 
FromLuaStack [Char] # 

Methods

peek :: StackIndex -> Lua [Char] #

FromLuaStack a => FromLuaStack [a] # 

Methods

peek :: StackIndex -> Lua [a] #

FromLuaStack (Ptr a) # 

Methods

peek :: StackIndex -> Lua (Ptr a) #

FromLuaStack a => FromLuaStack (OrNil a) # 

Methods

peek :: StackIndex -> Lua (OrNil a) #

FromLuaStack a => FromLuaStack (Optional a) # 

Methods

peek :: StackIndex -> Lua (Optional a) #

(FromLuaStack a, FromLuaStack b) => FromLuaStack (a, b) # 

Methods

peek :: StackIndex -> Lua (a, b) #

(Ord a, FromLuaStack a, FromLuaStack b) => FromLuaStack (Map a b) # 

Methods

peek :: StackIndex -> Lua (Map a b) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c) => FromLuaStack (a, b, c) # 

Methods

peek :: StackIndex -> Lua (a, b, c) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c, FromLuaStack d) => FromLuaStack (a, b, c, d) # 

Methods

peek :: StackIndex -> Lua (a, b, c, d) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c, FromLuaStack d, FromLuaStack e) => FromLuaStack (a, b, c, d, e) # 

Methods

peek :: StackIndex -> Lua (a, b, c, d, e) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c, FromLuaStack d, FromLuaStack e, FromLuaStack f) => FromLuaStack (a, b, c, d, e, f) # 

Methods

peek :: StackIndex -> Lua (a, b, c, d, e, f) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c, FromLuaStack d, FromLuaStack e, FromLuaStack f, FromLuaStack g) => FromLuaStack (a, b, c, d, e, f, g) # 

Methods

peek :: StackIndex -> Lua (a, b, c, d, e, f, g) #

(FromLuaStack a, FromLuaStack b, FromLuaStack c, FromLuaStack d, FromLuaStack e, FromLuaStack f, FromLuaStack g, FromLuaStack h) => FromLuaStack (a, b, c, d, e, f, g, h) # 

Methods

peek :: StackIndex -> Lua (a, b, c, d, e, f, g, h) #

type Result a = Either String a #

Result returned when trying to get a value from the lua stack.

peekEither :: FromLuaStack a => StackIndex -> Lua (Either String a) #

Try to convert the value at the given stack index to a haskell value. Returns Left with an error message on failure.

pairsFromTable :: (FromLuaStack a, FromLuaStack b) => StackIndex -> Lua [(a, b)] #

Read a table into a list of pairs.

toList :: FromLuaStack a => StackIndex -> Lua [a] #

Read a table into a list