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 To: geda-user AT delorie DOT com Date: Sat, 07 Feb 2015 17:13:42 +0000 In-Reply-To: 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> <20150203112631 DOT 3507a0c1 AT Parasomnia DOT thuis DOT lan> <20150204054256 DOT Horde DOT Pm1JV8RJbICk9SHvIGwZ7A3 AT webmail DOT in-berlin DOT de> <20150204193720 DOT Horde DOT 42xUN-NzhCJRWZne-M5eCQ1 AT webmail DOT in-berlin DOT de> <90236728-E79D-47C7-BFB1-34140DB85ACB AT sbcglobal DOT net> <1423323918 DOT 1592 DOT 10 DOT camel AT cam DOT ac DOT uk> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.7-0ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit 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 Precedence: bulk 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 Clifton Electronics