9lua.tgz and lua.tgz are Lua for Plan9. They are based on Lua-5.4.4. 9lua.tgz includes Plan9 extension. MAN_9LUA is the manual. unpack them. and cd src and mk will compile. mk install will install the executable to /usr/local/bin/$objtype. If you want to install other place. change the mkfile. History of the Release 2023/04/28 Lua-5.4 for Plan9 (with 9lua) added fd in p9.dirstat(fd) -- this is dirfstat(fd) in Plan9 C lib. read readme_lp9lib in 9lau/src 2023/07/09 clean up and update 2023/07/24 - Bug in math.log(x,2) is fixed -- this bug was due to 2023/07/09 - Allow flags in p9.fork(flags) -- this is rfork(flags) in Plan9 C lib. 2023/07/28 - Added p9.getpid() 2023/10/01 - fixed mkfile lua/src/mkfile 9lua/src/mkfile to make integer in Lua to be 64bit type NB: f:seek("set",n) does not work for large n ( larger than 2^31 ) NB: /amd64/include/ape/math.h is buggy. they does not include extern double log2(double); another solusion (maybe a better solusion) suggested by Amavect: remove /amd64/include/ape/math.h - added extern int getpid(void); in 9lua/src/lp9lib.c 2023/10/06 - fixed mkfile and luaconf.h lua/src/mkfile 9lua/src/mkfile lua/src/luaconf.h 9lua/src/luaconf.h to make seek over 2^31 and now io.popen(cmd) works.