[Haskell-cafe] Error Calling Lua Function

Claude Heiland-Allen claudiusmaximus at goto10.org
Sat Oct 23 14:49:55 EDT 2010


Hi Aditya,

The problem is not that the file was not loaded, but that in Lua, 
loading a file only loads it and does not execute it; Lua is a "dynamic" 
language, by which I mean that definitions are created through execution.

Attached is a simple example, note that there is no proper error 
checking - you probably want to check the results rather than pattern 
matching against constants.

Thanks,


Claude

On 23/10/10 03:21, aditya siram wrote:
> Hi all,
> I'm having some issues calling Lua functions from Haskell. I have the
> following in "Haskell2Lua.lua":
> function hello ()
>     return "hello world"
> end
>
> And my Haskell file "Haskell2Lua.hs" looks like this:
> import qualified Scripting.Lua as
> Lua
>
> main =
> do
>
>      l<-
> Lua.newstate
>
>      Lua.openlibs
> l
>
>      succ<- Lua.loadfile l
> "/Haskell2Lua.lua"
>
>      print succ
>
>
>      Lua.callproc l "hello"
> ""
>
>      Lua.close l
>
> When I compile and run this file I get:
> 0
> Haskell2Lua: user error (attempt to call a nil value)
>
> I have tried some variations on calling the function including:
> Lua.callproc l "hello"
> Lua.callfunc l "hello"
> Lua.callfunc l "hello" ""
>
> I know the Lua bridge is working because the following works:
>
> Lua.callproc l "print" "Hello from Lua"
>
> Any help is appreciated!
> -deech


-- 
http://claudiusmaximus.goto10.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test.lua
Type: text/x-lua
Size: 46 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20101023/6b19bc16/test.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Test.hs
Type: text/x-haskell
Size: 451 bytes
Desc: not available
Url : http://www.haskell.org/pipermail/haskell-cafe/attachments/20101023/6b19bc16/Test.bin


More information about the Haskell-Cafe mailing list