Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. tinypy is a minimalist implementation of python in 64k of code
  2.  
  3. "batteries not included (yet)"
  4. "lua for people who like python"
  5.  
  6. what tinypy is:
  7.     * parser and bytecode compiler written in tinypy
  8.     * fully bootstrapped
  9.     * luaesque virtual machine with garbage collection written in C
  10.       it's "stackless" sans any "stackless" features
  11.     * cross-platform :) it runs under windows / linux / macosx
  12.     * a fairly decent subset of python
  13.           o classes and single inheritance
  14.           o functions with variable or keyword arguments
  15.           o strings, lists, dicts, numbers
  16.           o modules, list comprehensions
  17.           o exceptions with full traceback
  18.           o some builtins
  19.     - an easy C-API for building modules
  20.     - 64k of code (for at least some definition of 64k)
  21.     - interesting, educational, nifty, and useful
  22.     - well tested
  23.     - easy to read, maintain, and use
  24.     - fun fun fun!!!
  25.     - you can static compile it and its modules (MIT license, so "it's all good!")
  26.  
  27. what tinypy will be:
  28.     - sandboxed
  29.     - a Cpython module (setup.py install)
  30.     - including some batteries (math, random, re, marshal, pygame?!)
  31.     - Visual Studio compatible
  32.     - documented
  33.  
  34. what tinypy might be:
  35.     - as fast as python (maybe faster?)
  36.     - including a JIT module
  37.     - C89 compatible
  38.     - C++ compatible (like lua)
  39.     - a shed-skin module
  40.     - including a dynamic loading module
  41.  
  42. what tinypy won't be:
  43.     - a full implementation of python
  44.     - totally compatible with python
  45.  
  46. alternatives to tinypy:
  47.     - lua
  48.     - shed-skin
  49.     - pymite
  50.     - pyvm
  51.     - cython
  52.     - pypy
  53.     - jython
  54.     - ironpython
  55.     - python
  56.