Phil Hassey - games, tech, web, stuff, biz, and bilge
Phil Hassey as Wolverine
"What kind of
arrogant jerk
has a website like this?"

tinypy ideas

tinypy is an implementation of a subset of python in 64k of code.  The objective of all tasks is to keep tinypy within that size, by adding as little code as possible, and by going back and cleaning up the existing code so that it is smaller.  Things like sandbox and python syntax should be added by keeping within the size limitations.   For add-ons like JIT, modules, OpenGL, having them as separate optional add-ons would be nice.  The lunatic python style module size would be separate from tinypy.  In all cases, keeping the code as “lean and mean” as possible will be required.

Sandbox tinypy

  • Objective: to secure tinypy so that it can be run safely run any arbitrary python code
  • Remove dangerous functions
  • Enable a memory limit
  • Enable an execution time limit
  • Discover security related bugs and fix them

JIT tinypy

  • Objective: build a JIT module for tinypy to replace functions with a JIT version of functions. 
  • Syntax like @jit def myfunc()… would be nice.

SDL+OpenGL tinypy

  • Objective: build an OpenGL wrapper for tinypy
  • Also build an SDL, mixer, ttf, image wrapper

Embed tinypy

  • Objective: sandbox tinypy and then (as in lunatic python) build a python module that uses tinypy for safe execution of “unknown” code

Core Modules

  • Objective: Build a few of the more common python modules for tinypy

Speed and Size

  • Objective: Improve the speed of tinypy through some optimization.

Python Syntax

  • Objective: add a bit more python syntax support to tinypy. 
  • decorator syntax would be nice
  • nested functions
  • improved class support (maybe more like lua classes somehow?)

Documentation and Test improvement

  • Objective: make it better!
  • As you go, any place you are confused, you’ll want to add in documentation to the files once you become “unconfused”
  • As you go, any time you are able to break tinypy with a test, you’ll want to add in a test case and patch it.

If you are interested in this project post to the soc2008-general list, or contact me directly.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Galcon   Watermelons   Dynamite   The Hairy Chestival
All content of imitation pickles (c) 1999-2007 - Phil Hassey  "we care"