-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Allow aeson data types to be used with lua.
--   
--   This package provides instances to push and receive any datatype
--   encodable as JSON to and from the Lua stack.
@package hslua-aeson
@version 0.3.0.2


-- | Glue to hslua for aeson values.
--   
--   This provides a <tt>StackValue</tt> instance for aeson's
--   <tt>Value</tt> type. The following conventions are used:
--   
--   <ul>
--   <li><tt>Null</tt> values are encoded as the special global
--   <tt>_NULL</tt>. Using <tt>Nil</tt> would cause problems with
--   null-containing arrays.</li>
--   <li>Objects are converted to tables in a straight-forward way.</li>
--   <li>Arrays are converted to lua tables. Array-length is included as
--   the value at index 0. This makes it possible to distinguish between
--   empty arrays and empty objects.</li>
--   </ul>
module Foreign.Lua.Aeson

-- | Create a new lua state suitable for use with aeson values. This
--   behaves like <tt>newstate</tt> in hslua, but initializes the
--   <tt>_NULL</tt> global. That variable is used to encode null values.
registerNull :: Lua ()
instance Foreign.Lua.Types.ToLuaStack.ToLuaStack Data.Scientific.Scientific
instance Foreign.Lua.Types.FromLuaStack.FromLuaStack Data.Scientific.Scientific
instance Foreign.Lua.Types.ToLuaStack.ToLuaStack a => Foreign.Lua.Types.ToLuaStack.ToLuaStack (Data.Vector.Vector a)
instance Foreign.Lua.Types.FromLuaStack.FromLuaStack a => Foreign.Lua.Types.FromLuaStack.FromLuaStack (Data.Vector.Vector a)
instance (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a, Foreign.Lua.Types.ToLuaStack.ToLuaStack a, Foreign.Lua.Types.ToLuaStack.ToLuaStack b) => Foreign.Lua.Types.ToLuaStack.ToLuaStack (Data.HashMap.Base.HashMap a b)
instance (GHC.Classes.Eq a, Data.Hashable.Class.Hashable a, Foreign.Lua.Types.FromLuaStack.FromLuaStack a, Foreign.Lua.Types.FromLuaStack.FromLuaStack b) => Foreign.Lua.Types.FromLuaStack.FromLuaStack (Data.HashMap.Base.HashMap a b)
instance Foreign.Lua.Types.ToLuaStack.ToLuaStack Data.Aeson.Types.Internal.Value
instance Foreign.Lua.Types.FromLuaStack.FromLuaStack Data.Aeson.Types.Internal.Value
