y{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyzportable, ffi alpha gracjanpolak@gmail.com {|}~9A value that can be pushed and poped from the Lua stack. . All instances are natural, except following:  LuaState1 push ignores its argument, pushes current state  (), push ignores its argument, just pushes nil  Ptr ()C pushes light user data, peek checks for lightuserdata or userdata NPushes a value onto Lua stack, casting it into meaningfully nearest Lua type. Check if at index n6 there is a convertible Lua value and if so return it  wrapped in Just . Return Nothing otherwise. =Lua type id code of the vaule expected. Parameter is unused. Enumeration used by gc function.  "Enumeration used as type tag. See lua_type in Lua Reference Manual.  Wrapper for  lua_Number. See  lua_Number in Lua Reference Manual.  HsLua uses C double as  lua_Integer.  Wrapper for  lua_Integer. See  lua_Integer in Lua Reference Manual.  HsLua uses C  ptrdiff_t as  lua_Integer.  Wrapper for  lua_CFunction. See  lua_CFunction in Lua Reference Manual.  Wrapper for  lua_Writer. See  lua_Writer in Lua Reference Manual.  Wrapper for  lua_Reader. See  lua_Reader in Lua Reference Manual.  Wrapper for  lua_Alloc. See  lua_Alloc in Lua Reference Manual.  Wrapper for  lua_State *. See  lua_State in Lua Reference Manual. See  LUA_MULTRET in Lua Reference Manual. See  lua_settop in Lua Reference Manual. See lua_createtable in Lua Reference Manual. See  lua_objlen in Lua Reference Manual. !See lua_pop in Lua Reference Manual. "See  lua_newtable in Lua Reference Manual. #See lua_pushcclosure in Lua Reference Manual. $See lua_pushcfunction in Lua Reference Manual. See  lua_strlen in Lua Reference Manual. %See lua_type in Lua Reference Manual. &See lua_isfunction in Lua Reference Manual. 'See  lua_istable in Lua Reference Manual. (See lua_islightuserdata in Lua Reference Manual. )See  lua_isnil in Lua Reference Manual. *See  lua_isboolean in Lua Reference Manual. +See  lua_isthread in Lua Reference Manual. See lua_none in Lua Reference Manual. See  lua_noneornil in Lua Reference Manual. ,See LUA_REGISTRYINDEX in Lua Reference Manual. -See LUA_ENVIRONINDEX in Lua Reference Manual. .See LUA_GLOBALSINDEX in Lua Reference Manual. /See lua_upvalueindex in Lua Reference Manual. 0See  lua_atpanic in Lua Reference Manual. 1See  lua_tostring in Lua Reference Manual. 2See  lua_tothread in Lua Reference Manual. 3See lua_touserdata in Lua Reference Manual. 4See  lua_typename in Lua Reference Manual. 5See  lua_xmove in Lua Reference Manual. 6See  lua_yield in Lua Reference Manual. 7See lua_checkstack in Lua Reference Manual. 8See  lua_newstate and  luaL_newstate in Lua Reference Manual. 9See  lua_close in Lua Reference Manual. :See  lua_concat in Lua Reference Manual. ;See lua_call and lua_call# in Lua Reference Manual. This is  a wrapper over  lua_pcall, as lua_call% is unsafe in controlled environment  like Haskell VM. <See  lua_pcall in Lua Reference Manual. =See  lua_cpcall in Lua Reference Manual. >See  lua_getfield in Lua Reference Manual. ?See  lua_setfield in Lua Reference Manual. @See  lua_getglobal in Lua Reference Manual. ASee  lua_setglobal in Lua Reference Manual. BSee  luaL_openlibs in Lua Reference Manual. CDSee  lua_equal in Lua Reference Manual. ESee  lua_error in Lua Reference Manual. error :: LuaState -> IO Int -error l = liftM fromIntegral (c_lua_error l) See lua_gc in Lua Reference Manual. FSee  lua_getfenv in Lua Reference Manual. GSee lua_getmetatable in Lua Reference Manual. HSee  lua_gettable in Lua Reference Manual. ISee  lua_gettop in Lua Reference Manual. JSee lua_getupvalue in Lua Reference Manual. KSee  lua_insert in Lua Reference Manual. LSee lua_iscfunction in Lua Reference Manual. MSee  lua_isnumber in Lua Reference Manual. NSee  lua_isstring in Lua Reference Manual. OSee lua_isuserdata in Lua Reference Manual. PSee  lua_lessthan in Lua Reference Manual. QSee  luaL_loadfile in Lua Reference Manual. RSee luaL_loadstring in Lua Reference Manual. SSee  lua_newthread in Lua Reference Manual. TSee lua_newuserdata in Lua Reference Manual. USee lua_next in Lua Reference Manual. VSee lua_pushboolean in Lua Reference Manual. WSee lua_pushinteger in Lua Reference Manual. XSee lua_pushlightuserdata in Lua Reference Manual. YSee  lua_pushnil in Lua Reference Manual. ZSee lua_pushnumber in Lua Reference Manual. [See lua_pushstring in Lua Reference Manual. \See lua_pushthread in Lua Reference Manual. ]See  lua_pushvalue in Lua Reference Manual. ^See  lua_rawequal in Lua Reference Manual. _See  lua_rawget in Lua Reference Manual. `See  lua_rawgeti in Lua Reference Manual. aSee  lua_rawset in Lua Reference Manual. bSee  lua_rawseti in Lua Reference Manual. cSee  lua_remove in Lua Reference Manual. dSee  lua_replace in Lua Reference Manual. eSee  lua_resume in Lua Reference Manual. fSee  lua_setfenv in Lua Reference Manual. gSee lua_setmetatable in Lua Reference Manual. hSee  lua_settable in Lua Reference Manual. iSee lua_setupvalue in Lua Reference Manual. jSee  lua_status in Lua Reference Manual. kSee  lua_toboolean in Lua Reference Manual. lSee lua_tocfunction in Lua Reference Manual. mSee  lua_tointeger in Lua Reference Manual. nSee  lua_tonumber in Lua Reference Manual. oSee  lua_topointer in Lua Reference Manual. pSee  lua_register in Lua Reference Manual. qSee luaL_newmetatable in Lua Reference Manual. rSee  luaL_argerror+ in Lua Reference Manual. Contrary to the A manual, Haskell function does return with value less than zero. sLike  getglobal", but knows about packages. e. g.   getglobal l "math.sin" returns correct result t@Create new foreign Lua function. Function created can be called 1 by Lua engine. Remeber to free the pointer with  freecfunction. uAConvert a Haskell function to Lua function. Any Haskell function ! can be converted provided that: + all arguments are instances of StackValue ? * return type is IO t, where t is an instance of StackValue AAny Haskell exception will be converted to a string and returned  as Lua error. v#Free function pointer created with  newcfunction. wCall a Lua procedure. Use as: 0 callproc l "proc" "abc" (1::Int) (5.0::Double) xCall a Lua function. Use as: : Just v <- callfunc l "proc" "abc" (1::Int) (5.0::Double) y5Pushes Haskell function converted to a Lua function. 7 All values created will be garbage collected. Use as:   Lua.pushhsfunction l myfun  Lua.setglobal l "myfun" You are not allowed to use  lua_error anywhere, but 4 use an error code of (-1) to the same effect. Push ) error message as the sole return value. z<Imports a Haskell function and registers it at global name. {  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{  ,-.0;79:=CDEF>@GHIJK*L&()MN'+OP8"STU <!V#$WXYZ[\]^_`abpcdef?Aghijklmno123%4/56BQRqrwxstvuyz{   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ hslua-0.3 Scripting.Lua StackValuepushpeek valuetype GCCONTROL GCSETSTEPMUL GCSETPAUSEGCSTEPGCCOUNTBGCCOUNT GCCOLLECT GCRESTARTGCSTOPLTYPETTHREAD TUSERDATA TFUNCTIONTTABLETSTRINGTNUMBERTLIGHTUSERDATATBOOLEANTNILTNONE LuaNumber LuaInteger LuaCFunctionLuaStatemultretsettop createtableobjlenpopnewtable pushcclosure pushcfunctionltype isfunctionistableislightuserdataisnil isbooleanisthread registryindex environindex globalsindex upvalueindexatpanictostringtothread touserdatatypenamexmoveyield checkstacknewstatecloseconcatcallpcallcpcallgetfieldsetfield getglobal setglobalopenlibsdumpequalgcgetfenv getmetatablegettablegettop getupvalueinsert iscfunctionisnumberisstring isuserdatalessthanloadfile loadstring newthread newuserdatanext pushboolean pushintegerpushlightuserdatapushnil pushnumber pushstring pushthread pushvaluerawequalrawgetrawgetirawsetrawsetiremovereplaceresumesetfenv setmetatablesettable setupvaluestatus toboolean tocfunction tointegertonumber topointerregister newmetatableargerror getglobal2 newcfunction luaimport freecfunctioncallproccallfuncpushhsfunctionregisterhsfunctionhsmethod__call_addrhsmethod__gc_addr mkWrappermkStringReadermkStringWriterc_lua_neutralize_longjmp_addrc_lua_neutralize_longjmpc_luaL_argerrorc_luaL_newmetatablec_luaL_newstatec_luaL_openlibs c_lua_concat c_lua_next c_lua_errorc_lua_gc c_lua_status c_lua_resume c_lua_yield c_lua_dump c_lua_load c_lua_cpcall c_lua_pcall c_lua_call c_lua_setfenvc_lua_setmetatable c_lua_rawseti c_lua_rawsetc_lua_setfieldc_lua_settablec_lua_setupvaluec_lua_getupvalue c_lua_getfenvc_lua_getmetatablec_lua_newuserdatac_lua_createtable c_lua_rawgeti c_lua_rawgetc_lua_getfieldc_lua_gettablec_lua_pushthreadc_lua_pushlightuserdatac_lua_pushbooleanc_lua_pushcclosurec_lua_pushstringc_lua_pushlstringc_lua_pushintegerc_lua_pushnumber c_lua_pushnilc_lua_topointerc_lua_tothreadc_lua_touserdatac_lua_tocfunction c_lua_objlenc_lua_tolstringc_lua_tobooleanc_lua_tointegerc_lua_tonumberc_lua_lessthanc_lua_rawequal c_lua_equalc_lua_typename c_lua_typec_lua_isuserdatac_lua_iscfunctionc_lua_isstringc_lua_isnumber c_lua_xmovec_lua_checkstack c_lua_replace c_lua_insert c_lua_removec_lua_pushvalue c_lua_settop c_lua_gettop c_lua_atpanicc_lua_newthreadc_lua_newstate c_lua_close LuaCallFunc callfunc' LuaCallProc callproc' LuaImport luaimport'luaimportargerror LuaWriter LuaReaderLuaAllocstrlenisnone isnoneornil hsmethod__gchsmethod__call