www.delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2015/02/07/12:15:19

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://www.cam.ac.uk/cs/email/scanner/
Message-ID: <1423329222.1592.12.camel@cam.ac.uk>
Subject: Re: [geda-user] FOSDEM
From: Peter Clifton <pcjc2 AT cam DOT ac DOT uk>
To: geda-user AT delorie DOT com
Date: Sat, 07 Feb 2015 17:13:42 +0000
In-Reply-To: <CAOFvGD6rwqf79obnSRQ4gyM0h8_5PQ-C0G2guRp8YU80oOAkig@mail.gmail.com>
References: <1420499386 DOT 3521 DOT 3 DOT camel AT cam DOT ac DOT uk>
<20150202152654 DOT GA13336 AT cuci DOT nl> <54CFD589 DOT 9040702 AT xs4all DOT nl>
<CAHBYzfRkn-nJb4JfrDYyaD0WwPrpZvAgi0QdHCusgz185iNoHA AT mail DOT gmail DOT com>
<CAGde_xN-iNZUvHh-E47kx1EyoPRt1018wWiDwHhYQ9+od+cJwA AT mail DOT gmail DOT com>
<20150203112631 DOT 3507a0c1 AT Parasomnia DOT thuis DOT lan>
<20150204054256 DOT Horde DOT Pm1JV8RJbICk9SHvIGwZ7A3 AT webmail DOT in-berlin DOT de>
<CAOP4iL2stWVCy3WK0=SNu2zAbs8t6B0uyAgFuOnzG8v_MrYNfw AT mail DOT gmail DOT com>
<CAGde_xN5gs5r_on=HP2RN7cy6E=2EL9eK3cp+sd9BfBaWNLVew AT mail DOT gmail DOT com>
<20150204193720 DOT Horde DOT 42xUN-NzhCJRWZne-M5eCQ1 AT webmail DOT in-berlin DOT de>
<90236728-E79D-47C7-BFB1-34140DB85ACB AT sbcglobal DOT net>
<CAOFvGD4M48Ap=UQzL_T3yzas2rJrNFfxXRUOkOe8gA8J3bQCHg AT mail DOT gmail DOT com>
<1423323918 DOT 1592 DOT 10 DOT camel AT cam DOT ac DOT uk>
<CAOFvGD6rwqf79obnSRQ4gyM0h8_5PQ-C0G2guRp8YU80oOAkig AT mail DOT gmail DOT com>
X-Mailer: Evolution 3.12.7-0ubuntu1
Mime-Version: 1.0
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, 2015-02-07 at 11:20 -0500, Jason White wrote:

> In the Lua virtual machine I added a protected mode for reading "data"
> files where I disabled all instructions not related to pushing
> constants to the stack.
> 
> What does this mean? In this mode, a Lua file is not an executable
> script; there are no functions, no function calls, no if statements or
> for loops. The only thing that is allowed is the definition of
> variables which are easily read out by a program. (Look at the example
> program I linked to, it implements all this)


Sadly I don't have time to get to far into this, and whilst probably
important for the future - is not something I've got any time to
contribute to.

I'm currently taking time out from the PCB+GL and 3D stuff I want to get
merged in order to fix some polygon bugs that are raising their ugly
heads. (Long-standing bugs, but perhaps more commonly seen now due to
the nm core coordinate switch).

Regarding the language..

Sand-boxing for security is great, but doesn't address the (IMO)
undesirability of a turing complete config / data file.

By the time you've pared down the language to the point it sounds you
have, IE. a non-turing complete "language" used for its input file
parser.

It hardly seems that we would be "using" the underlying language at all;
you are merely borrowing its syntax for variable assignment, and using
its interpreter to avoid writing your own file parser.

A similar thing (I think) would be S-Expressions, which most scheme /
lisp environments would be able to read very naturally, and without
execution. There is also JSON / JSONP and Javascript.


Peter

-- 
Peter Clifton <peter DOT clifton AT clifton-electronics DOT co DOT uk>

Clifton Electronics

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019