Will wrote:
> A way to bundle Lua in a nice self
> contained manner from, for example, a flash drive. A way to create non
> tamperable scripts, so to speak.

I'm not a Lua expert, but from what I understand, you have the following
options:

1.  Bundle Lua and your script on the flash drive.
     The script is easily tamperable.
2.  Bundle Lua and a pre-compiled script (using luac).
     The script is not easily tamperable.
3.  Write a C program and link it with the Lua library,
     and invoke Lua from within the C program.
     Now you can just provide the one C program on the flash.

--p


On Tue, Dec 6, 2016 at 4:41 PM <[email protected]> wrote:

> You can accomplish that with regular Lua. Instead of running `lua
> myFile.lua`,
> compile `luac myFile.lua`. That will generate a file called ‘luac.out’
> containing Lua bytecode. You can run that code with `lua`.
>
> On Tuesday, December 6, 2016 7:34:14 PM EST Will Rubin wrote:
> > I was looking at Terra as a way to create sort of executable Lua scripts
> > that I could create on arbitrary Windows machines and then distribute to
> > other Windows machines as needed. A way to bundle Lua in a nice self
> > contained manner from, for example, a flash drive. A way to create non
> > tamperable scripts, so to speak.
> >
> > --Will
> >
> > On 12/6/2016 7:26 PM, [email protected] wrote:
> > > If you want to use Terra,  you want to interact with C. You’d be
> calling C
> > > library functions, and compiled Terra libraries are compatible with C.
> > >
> > > LLVM is already part of Terra, don’t worry about LLVM. LLVM does not
> come
> > > with Visual Studio 2013. You just have to have that installed to
> compile
> > > your own executables or libraries.
> > >
> > > On Tuesday, December 6, 2016 7:25:54 PM EST Will Rubin wrote:
> > >> Thought that was referring to if I wanted to interact with C, which I
> > >> don't.
> > >>
> > >> LLMV is not a default part of Windows but may well come with Visual
> > >> Studio 2013. Have not idea though.
> > >>
> > >> Well I guess that explains things. Bummer. Was hoping Terra was
> complete
> > >> and stand alone.
> > >>
> > >> Thanks for the help.
> > >> --Will
> > >>
> > >> On 12/6/2016 7:20 PM, [email protected] wrote:
> > >>> Hmm, from the “Getting Started” page: "for Windows you need a copy of
> > >>> Microsoft Visual Studio 2013 installed”
> > >>>
> > >>> So it does use Windows headers and libs, it seems.
> > >>>
> > >>> On Tuesday, December 6, 2016 7:19:17 PM EST [email protected]
> wrote:
> > >>>> It’s not paths, and LLVM is on Windows. Terra uses LLVM. I don’t
> think
> > >>>> you
> > >>>> need to install LLVM separately though, did you install Terra?
> > >>>>
> > >>>> On Tuesday, December 6, 2016 7:19:34 PM EST Will Rubin wrote:
> > >>>>> Path is not it. Just tried a couple.
> > >>>>>
> > >>>>> Still seems that calling saveobj wants to call LLVM, which is not
> on
> > >>>>> Windows. (llvm: program not executable message on saveobj.)
> > >>>>>
> > >>>>> --Will
> > >>>>>
> > >>>>> On 12/6/2016 7:02 PM, [email protected] wrote:
> > >>>>>> You don’t 'install C’, don’t worry about that. You should have
> > >>>>>> everything
> > >>>>>> you need installed with Terra itself. Are you sure you got the
> same
> > >>>>>> error? I just ran exactly what you sent, and it compiled
> perfectly.
> > >>>>>>
> > >>>>>> I will say that you’ll want to use printf to show your output,
> unless
> > >>>>>> your
> > >>>>>> goal is to return the number of arguments + 1.
> > >>>>>>
> > >>>>>> On Tuesday, December 6, 2016 6:58:24 PM EST Will Rubin wrote:
> > >>>>>>> The example on the first page assumes C is installed. I don't
> have C
> > >>>>>>> installed. That's the question I suppose ... do I need to have a
> C
> > >>>>>>> compiler installed?
> > >>>>>>>
> > >>>>>>> --Will
> > >>>>>>>
> > >>>>>>> On 12/6/2016 6:45 PM, [email protected] wrote:
> > >>>>>>>> Try using a terra function that takes (argc : int, argv :
> > >>>>>>>> &rawstring).
> > >>>>>>>> The
> > >>>>>>>> main method takes an int, the number of arguments, and an array
> of
> > >>>>>>>> that
> > >>>>>>>> many strings.
> > >>>>>>>>
> > >>>>>>>> This is comparable to the C main method.
> > >>>>>>>>
> > >>>>>>>> There is a great example of this on the main page of
> > >>>>>>>> http://terralang.org/.
> > >>>>>>>>
> > >>>>>>>> On Tuesday, December 6, 2016 6:43:40 PM EST Will Rubin wrote:
> > >>>>>>>>> Lots of them:
> > >>>>>>>>>
> > >>>>>>>>> For example when I type into the REPL
> > >>>>>>>>>
> > >>>>>>>>> terra addone(a : int)
> > >>>>>>>>>
> > >>>>>>>>>        return a + 1
> > >>>>>>>>>
> > >>>>>>>>> end
> > >>>>>>>>>
> > >>>>>>>>> the function is created.
> > >>>>>>>>>
> > >>>>>>>>> typing print(addone(2)) shows the correct answer.
> > >>>>>>>>>
> > >>>>>>>>> then typing terralib.saveobj("addone",{main=addone}) gives:
> > >>>>>>>>> llvm: program not executable
> > >>>>>>>>> and a stack trace to saveobj
> > >>>>>>>>>
> > >>>>>>>>> (Other error messages are on the other thread I'm on. All seem
> to
> > >>>>>>>>> be
> > >>>>>>>>> about not finding things I'm now thinking would be in a C
> library
> > >>>>>>>>> or
> > >>>>>>>>> such.)
> > >>>>>>>>>
> > >>>>>>>>> Just tried terralib.saveObj(...) in case there's a case
> > >>>>>>>>> sensitivity
> > >>>>>>>>> issue. Got error message:
> > >>>>>>>>>
> > >>>>>>>>> [string "stdin"]:1: attempt to call field 'saveObj' (a nil
> value)
> > >>>>>>>>>
> > >>>>>>>>> stack traceback:
> > >>>>>>>>>              [string "stdin"]:1: in main chunk
> > >>>>>>>>>
> > >>>>>>>>> --Will
> > >>>>>>>>>
> > >>>>>>>>> On 12/6/2016 6:33 PM, [email protected] wrote:
> > >>>>>>>>>> It would help if you could tell us the error.
> > >>>>>>>>>>
> > >>>>>>>>>> On Tuesday, December 6, 2016 6:33:55 PM EST Will Rubin wrote:
> > >>>>>>>>>>> Hmmm ... just can't get an executable out of Terra. I'm on
> > >>>>>>>>>>> Windows
> > >>>>>>>>>>> and
> > >>>>>>>>>>> not Linux. Default Windows system. Unzipped Terra as per the
> > >>>>>>>>>>> documentation. Can get some of the REPL examples to work. As
> > >>>>>>>>>>> soon
> > >>>>>>>>>>> as
> > >>>>>>>>>>> I
> > >>>>>>>>>>> try terralib.saveobj("MyExecutable",{ main = myMain }) I get
> an
> > >>>>>>>>>>> error.
> > >>>>>>>>>>>
> > >>>>>>>>>>> Do I need to have a C compiler or such installed in order to
> > >>>>>>>>>>> create
> > >>>>>>>>>>> an
> > >>>>>>>>>>> executable?
> > >>>>>>>>>>>
> > >>>>>>>>>>> --Will
> > >>>>>>>>>>> _______________________________________________
> > >>>>>>>>>>> terralang mailing list
> > >>>>>>>>>>> [email protected]
> > >>>>>>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang
> > >>>>>>>>>
> > >>>>>>>>> _______________________________________________
> > >>>>>>>>> terralang mailing list
> > >>>>>>>>> [email protected]
> > >>>>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang
> > >>>>>>>
> > >>>>>>> _______________________________________________
> > >>>>>>> terralang mailing list
> > >>>>>>> [email protected]
> > >>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang
> > >>>>>
> > >>>>> _______________________________________________
> > >>>>> terralang mailing list
> > >>>>> [email protected]
> > >>>>> https://mailman.stanford.edu/mailman/listinfo/terralang
> > >>
> > >> _______________________________________________
> > >> terralang mailing list
> > >> [email protected]
> > >> https://mailman.stanford.edu/mailman/listinfo/terralang
> >
> > _______________________________________________
> > terralang mailing list
> > [email protected]
> > https://mailman.stanford.edu/mailman/listinfo/terralang
>
>
> --
> John M. Harris, Jr.
> OpenBlox
> https://openblox.org/
> _______________________________________________
> terralang mailing list
> [email protected]
> https://mailman.stanford.edu/mailman/listinfo/terralang
>
_______________________________________________
terralang mailing list
[email protected]
https://mailman.stanford.edu/mailman/listinfo/terralang

Reply via email to