<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000066">
    Regarding interface function names:<br>
    <br>
    I wonder what logic Luerl's names of do and eval follow:<br>
    <br>
    dofile/1, like eval/1, returns a pragmatic Ret <br>
    <br>
    while do/2 returns {String, State}<br>
    <br>
    Since you are exporting ps/1, there should maybe be a dochunk/2? <br>
    <br>
    And /1, too? <br>
    <br>
    Or should it maybe be evalchunk/1, dochunk/2 (the /2s with State as
    second parameter)?<br>
    <br>
    Here are some relevant functions from Lua's C interface.<br>
    <br>
    <blockquote><b>luaL_dofile</b><br>
      <br>
      [-0, +?, m]<br>
      int luaL_dofile (lua_State *L, const char *filename);<br>
      Loads and runs the given file. It is defined as the following
      macro:<br>
      <br>
           (luaL_loadfile(L, filename) || lua_pcall(L, 0, LUA_MULTRET,
      0))<br>
      It returns false if there are no errors or true in case of errors.<br>
      <br>
      <b>luaL_dostring</b><br>
      <br>
      [-0, +?, –]<br>
      int luaL_dostring (lua_State *L, const char *str);<br>
      Loads and runs the given string. It is defined as the following
      macro:<br>
      <br>
           (luaL_loadstring(L, str) || lua_pcall(L, 0, LUA_MULTRET, 0))<br>
      It returns false if there are no errors or true in case of errors.<br>
      <br>
      <b>luaL_loadstring</b><br>
      <br>
      [-0, +1, –]<br>
      int luaL_loadstring (lua_State *L, const char *s);<br>
      Loads a string as a Lua chunk. This function uses lua_load to load
      the chunk in the zero-terminated string s.<br>
      <br>
      This function returns the same results as lua_load.<br>
      <br>
      Also as lua_load, this function only loads the chunk; it does not
      run it.<br>
      <br>
      <b>luaL_newstate</b><br>
      <br>
      [-0, +0, –]<br>
      lua_State *luaL_newstate (void);<br>
      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.<br>
      <br>
      Returns the new state, or NULL if there is a memory allocation
      error.<br>
    </blockquote>
    <br>
    Source: <a class="moz-txt-link-freetext" href="http://www.lua.org/manual/5.2/manual.html">http://www.lua.org/manual/5.2/manual.html</a><br>
  </body>
</html>