[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