On 23/10/2014 10:02 PM, Barkow, Eileen wrote:
Thanks for the explanation about the ?s but I still do not see what they are 
being used to substitute for.
I passed the UNIX  IVP test, but my profile contains this:

Lua has a module system that searches LUA_PATH substituting ? for the module name that is loaded with the require() function http://www.lua.org/pil/8.1.html

It's one of the big pluses vs REXX because you can write reusable code which can be loaded with require() which will return a Lua table or function that you can just call. With REXX you can't share stem variables between external modules which leads to copy and paste jobs.

hexdump = require("hexdump")

Will search the following path, where //DD:LUA(HEXDUMP) is a MVS data set. That's only relevant when running native in TSO or batdch.

./hexdump.lua;/u/eileen/j15/lua/share/lua/5.1/hexdump.lua;/u/eileen/j15/lua/share/lua/5.1/hexdump/
init.lua;/u/eileen/j15/lua/lib/lua/5.1/hexdump.lua;/u/eileen/j15/lua/lib/lua/5.1/hexdump/ini
t.lua;//DD:LUA(hexdump)



$ echo $LUA_PATH
./?.lua;/u/eileen/j15/lua/share/lua/5.1/?.lua;/u/eileen/j15/lua/share/lua/5.1/?/
init.lua;/u/eileen/j15/lua/lib/lua/5.1/?.lua;/u/eileen/j15/lua/lib/lua/5.1/?/ini
t.lua;//DD:LUA(?)
$ echo $LUA_CPATH
./?.so;/u/eileen/j15/lua/lib/lua/5.1/?.so;/u/eileen/j15/lua/lib/lua/5.1/loadall.
so;//?
$

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Thursday, October 23, 2014 9:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with batteries

On 23/10/2014 9:36 PM, Barkow, Eileen wrote:
You need to enter the y in lower case - otherwise those dataset errors occur.
I have now changed the installation script to fold all input to upper case.

I am not up to snuff on UNIX lately and do not understand what the ? in the 
environment variables mean.
They did work when I added them to my profile, but I never saw this syntax 
before:

export LUA_PATH="./?.lua;\
$LUA_HOME/share/lua/5.1/?.lua;\
$LUA_HOME/share/lua/5.1/?/init.lua;\
$LUA_HOME/lib/lua/5.1/?.lua;\
$LUA_HOME/lib/lua/5.1/?/init.lua;\
//DD:LUA(?)"
The ? is a placeholder for the module name. So if you do the following

local m = require "test" it will replace "?" with "test" in the search path. 
The //DD:LUA(?) will resolve to //DD:LUA(TEST) so if you are running in TSO or batch it will load the module 
for a PDS(E) allocated to a DDname of LUA.

If you are running native then my suggestion is to set LUA_HOME in the LUACONF 
member to make your life easier http://lua4z.com/doc/manual/install.md.html.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU]
On Behalf Of David Crayford
Sent: Thursday, October 23, 2014 9:24 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: [ANN] Lua4z: the Lua programming language on z/OS, with
batteries

On 23/10/2014 8:42 PM, John McKown wrote:
​Well, I got it installed. I ran into a "problem" with the
./lua4z​-1.0.0.bin when I ran it a second time. The first time, it
said it couldn't find the PDSEs (LOADLIB and SAMPLIB) and did I want
to define them? All is good. I reply "Y" and they are allocated. When
I ran the script a second time, it did the same. It did _not_
properly detect that the PDSEs existed. It tried to allocate them
again, and I got error messages from that allocation. The script continued to 
run.
All in all, I got what I needed, but it seems to point out a problem
with the installation script. Oh, I entered the data set names in
lower case, which might be the problem.
Many thanks for testing this John. Good catch!

The lua4z/examples/ivp.lua fails when I run it from my UNIX shell.

====

LIH1:TSH009:/HM/lua4z/examples$
lua ivp.lua
Lua4z installation verification procedure (IVP)

Checking LUA_PATH configuration: passed Checking LUA_CPATH
configuration: failed

Test results:
     1 passed
     1 failed

LIH1:TSH009:/HM/lua4z/examples$
printenv | grep LUA_
LUA_PATH=/HM/lua4z/share/lua/5.1/?.lua;./?.lua;/HM/lua4z/share/lua/5.
1 /?/init.lua;/HM/lua4z/lua/5.1/?.lua;/HM/lua4z/install/?.lua
LUA_CPATH=./?.so;/HM/lua4z/lib/lua/5.1/?.so
LIH1:TSH009:/HM/lua4z/examples$
====

​I looked at the ivp.lua. It references a variable "modules" which
contains "cjson" and "socket". There exists an cjson.so in the
LUA_CPATH. But "socket" is a directory in /HM/lua4z/lib/lua/5.1, not an ".so" 
file.
Granted, I need to read up on lua, but given the results, this seems
like it may be a problem in the ivp.lua script.​

Minor nits, but thought I'd give you a heads up.

Can I convince you to try it again. I've uploaded  an updated IVP.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send
email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to