3 ms·
Ljsyscall: Unix system calls for LuaJIT
- justincormack 12y agoThis is my project... not sure why it suddenly appeared on HN today, but happy to answer any questions. There is a short talk from Fosdem https://www.youtube.com/watch?v=UZty3v4xVnQ https://www.youtube.com/watch?v=UZty3v4xVnQ and a longer one from last years Lua Workshop here http://2013.capitoledulibre.org/conferences/lua-workshop/towards-a-lua-scripted-operating-system.html http://2013.capitoledulibre.org/conferences/lua-workshop/tow... One of my main ideas was to make things easier to understand by having everything in a scripting language; I chose Lua as the LuaJIT ffi had just come out. At some point porting it to other languages would be a good idea.
- CMCDragonkai 12y agoCan this work inside openresty or snabbswitch?
- justincormack 12y agoCertainly inside Snabb - I have used it for that in the past. Openresty it will work, but you really want to be doing blocking operations/polling in Nginx's event loop, so be a bit careful.
- CMCDragonkai 12y agoAwesome, in what kind of work were you doing with Snabb? I was thinking of creating a virtual network adapter (like eth0) in userspace to do some SDN experimentation.
- justincormack 12y agoI was doing some prototyping on using Snabb for kvm - that stuff is working now. Making a virtual network adaptor in userspace not in a vm is actually slightly non trivial, but the kvm passthrough in Snabb is very fast now, zero copy.
- blindgeek 12y agoHave you looked at scsh (AKA the Scheme shell)? How does your work compare with it? It seems like your goals are similar, except that you're working in Lua.
- cturner 12y agoI tried to get scheme shell working recently and had issues. My memory is that it had assumptions about running on 32-bit architecture. Build process segfaults on debian stable, and it isn't available in package management for x64.
- justincormack 12y agoMy goal really hasn't been to define something that is convenient to use as a shell (ie compositional etc), but something for programming, so it returns data structures which differ by function etc. Plus I provide lower level functions like namespacing and so on.