[erlang-questions] Luerl - Lua in Erlang

Henning Diedrich <>
Mon Feb 20 20:59:07 CET 2012


Regarding interface function names:

I wonder what logic Luerl's names of do and eval follow:

dofile/1, like eval/1, returns a pragmatic Ret

while do/2 returns {String, State}

Since you are exporting ps/1, there should maybe be a dochunk/2?

And /1, too?

Or should it maybe be evalchunk/1, dochunk/2 (the /2s with State as 
second parameter)?

Here are some relevant functions from Lua's C interface.

    *luaL_dofile*

    [-0, +?, m]
    int luaL_dofile (lua_State *L, const char *filename);
    Loads and runs the given file. It is defined as the following macro:

          (luaL_loadfile(L, filename) || lua_pcall(L, 0, LUA_MULTRET, 0))
    It returns false if there are no errors or true in case of errors.

    *luaL_dostring*

    [-0, +?, –]
    int luaL_dostring (lua_State *L, const char *str);
    Loads and runs the given string. It is defined as the following macro:

          (luaL_loadstring(L, str) || lua_pcall(L, 0, LUA_MULTRET, 0))
    It returns false if there are no errors or true in case of errors.

    *luaL_loadstring*

    [-0, +1, –]
    int luaL_loadstring (lua_State *L, const char *s);
    Loads a string as a Lua chunk. This function uses lua_load to load
    the chunk in the zero-terminated string s.

    This function returns the same results as lua_load.

    Also as lua_load, this function only loads the chunk; it does not
    run it.

    *luaL_newstate*

    [-0, +0, –]
    lua_State *luaL_newstate (void);
    Creates a new Lua state. It calls lua_newstate with an allocator
    based on the standard C realloc function and then sets a panic
    function (see §4.6) that prints an error message to the standard
    error output in case of fatal errors.

    Returns the new state, or NULL if there is a memory allocation error.


Source: http://www.lua.org/manual/5.2/manual.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20120220/35d35f41/attachment.html>


More information about the erlang-questions mailing list