Re: Picolisp within Picolisp (for games, etc.)? Or, PicoLisp VM?

2017-04-27 Thread Joh-Tob Schäg
I thought about the same.
My insights are:
You can 'let all relevant symbols with alternative functions or just NIL.
Adresses 1 & 2
You might want to change the repl in a way that if for example the symbols
car and list are evaluated they return a meaningless number. (It might be
possible to calculate the offset and execute arbitrary lisp code.) 1 & 2
And alternative would be to rewrite the picolisp eval function and only let
it load Symbols from a certain namespace/symbol to function property list.
Regarding 3: the best way to archieve that is putting the execution of this
code in a 'later. You can either cancel them after a certain time via kill
while your game world goes on (ask regenaxer how the open pipe is handled
or wait for the result) 3 execution time aspect.
To controll the space aspect you need rewrite picolisp in picolisp and
maintain your own free list or let all functions the user can call either
increase a counter on each allocation and throw an error if the number of
allocations exhausts the virtual machine capacity.

Am 28.04.2017 04:18 schrieb "Christopher Howard" <
christopher.how...@qlfiles.net>:
>
> Hi list, I was wondering if there would be a practical way to safely
> contain a picolisp interpreter (or some subset of commands) inside
> another picolisp program. E.g., suppose you have a computer game
> programmed in PicoLisp, and the main character found a computer terminal
> that allowed him to run some commands or program something in PicoLisp.
> The obvious safety concerns here are:
>
> (1) You either want to disable disk access, or make it so that disk
> access pulls from a virtual disk in the game.
>
> (2) You don't want the user to be changing memory in the game itself,
> only his virtual memory.
>
> (3) You don't want the user to be able to exhaust memory or blow the
stack.
>
> --
> https://qlfiles.net
>
> --
> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Subscribe

2017-04-27 Thread Abel Normand
-- 
С уважением, Наиль.


Picolisp within Picolisp (for games, etc.)? Or, PicoLisp VM?

2017-04-27 Thread Christopher Howard
Hi list, I was wondering if there would be a practical way to safely
contain a picolisp interpreter (or some subset of commands) inside
another picolisp program. E.g., suppose you have a computer game
programmed in PicoLisp, and the main character found a computer terminal
that allowed him to run some commands or program something in PicoLisp.
The obvious safety concerns here are:

(1) You either want to disable disk access, or make it so that disk
access pulls from a virtual disk in the game.

(2) You don't want the user to be changing memory in the game itself,
only his virtual memory.

(3) You don't want the user to be able to exhaust memory or blow the stack.

-- 
https://qlfiles.net

-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe