home *** CD-ROM | disk | FTP | other *** search
/ linuxmafia.com 2016 / linuxmafia.com.tar / linuxmafia.com / pub / palmos / pippy-0.6beta-src.tar.gz / pippy-0.6beta-src.tar / pippy-0.6beta-src / docs / README < prev    next >
Text File  |  2001-02-23  |  6KB  |  209 lines

  1.  
  2. Pippy - The port of Python to the Palm OS.
  3.  
  4. VERSION: Pippy 0.6beta.
  5.  
  6. Copyright (c) 2001 Endeavors Technology, Inc.
  7. All rights reserved.
  8.  
  9.  
  10. NOTE
  11.  
  12. This distribution contains the source code for Pippy, the port of
  13. Python (<http://www.python.org/>) to the PalmOS (<http://www.palm.com/>).
  14. If you are only interested in running Pippy on a Palm hand held device,
  15. you may download the pre-built PRC files (Pippy-0.6beta.tar.gz) from:
  16. <http://www.endeavors.com/pippy.html>.
  17.  
  18.  
  19.     WARNING: Backup your Palm device before installing Pippy!
  20.  
  21.  
  22. INTRODUCTION
  23.  
  24. Welcome to Pippy, the port of Python (revision 1.5.2+) to the PalmOS.
  25. This project is a continuation of work previously released jointly
  26. by The Aerospace Corporation and the University of California,
  27. Irvine. <http://www.isr.uci.edu/projects/sensos/python>
  28.  
  29. Pippy runs on the PalmOS Version 3.5 and higher.  The current version of
  30. Pippy passes a restricted subset of the standard Python regression test suite
  31. without failures or errors.
  32.  
  33. Our primary focus in this release of Pippy is tighter integration of
  34. Python with the PalmOS. We have also included a simple interactive interface.
  35. Several Python extension modules have been ported or developed from
  36. scratch specifically to support the PalmOS. A list of these modules is
  37. provided below.  
  38.  
  39. We encourage interested developers to join our efforts to improve and
  40. extend Pippy.
  41.  
  42.  
  43. COPYRIGHT/LICENSE
  44. License and copyright issues are discussed in the file: LICENSE
  45.  
  46.  
  47. SYSTEM REQUIREMENTS
  48.  
  49. Palm Hand Held Device
  50.  
  51. Pippy was tested on POSE (PalmOS Emulator) and on a Palm IIIxe (running
  52. PalmOS 3.5 or greater with 8M of RAM).  Pippy has also been successfully
  53. installed on a Palm III with 2M of RAM, but memory limitations
  54. (specifically related to the Heap size) prevents Pippy from running any
  55. significant code (see KNOWN PROBLEMS below).
  56.  
  57. Development Platform
  58.  
  59. Any platform for which the GNU tool chain has been ported.  Additional
  60. development tools are available as discussed in the file: TOOLS.
  61.  
  62. Pippy has been built on the following systems:
  63.     Solaris 2.6
  64.     Windows 95
  65.     Linux (RedHat 6.2)
  66.  
  67.  
  68. BUILDING
  69.  
  70. The following instructions are specific to Unix/Linux.
  71.  
  72. 0. This version of Pippy REQUIRES A SPECIFIC VERSION OF PYTHON. Please
  73.    see the TOOLS file for details on how to obtain and install this version.
  74.    
  75. 1.  See the file TOOLS for instructions to install the development
  76. tools.  You must use the tool set described in TOOLS.  Other development
  77. tool sets, such as prc-tools-2.0 and CodeWarrior, will NOT work for this
  78. port.
  79.  
  80. 2. See the file BUILD for the Pippy build instructions. Instructions
  81. for installing the .prc files are also included in this file.
  82.  
  83.  
  84.     WARNING: Backup your Palm device before installing Pippy!
  85.  
  86.  
  87. WHAT'S NEW
  88.  
  89. The following modules have been ported to the PalmOS as part of our
  90. Pippy development:
  91.  
  92.     palm_socketmodule.c
  93.     palm_errnomodule.c
  94.     palm_timemodule.c 
  95.     palm_selectmodule.c: 
  96.  
  97. We have eliminated floating point objects in the current release of
  98. Pippy in the interest of reducing the code footprint.  The time
  99. specifier for time.sleep() and select.select() has been changed to the
  100. following:
  101.  
  102. time.sleep(seconds, micro_seconds)
  103. select.select(rlist, wlist, xlist[, (seconds, micro_seconds)])
  104.  
  105.  
  106. The following modules are PalmOS specific:
  107.  
  108.     palmnetmodule.c     - Controls the palm network connection
  109.     palmeventmodule.c   - Exports events to the Palm
  110.     palmsysmodule.c     - Provides access to Palm system functions
  111.     palmdmmodule.c      - Database interface
  112.     palmappsmodule.c    - Standard Palm applications
  113.     palmformmodule.c    - Palm forms
  114.  
  115. User Interface
  116.  
  117. A "BREAK" button has been added, which when pressed raises a
  118. KeyboardInterrupt exception.  Additional development on the user
  119. interface is required.
  120.  
  121.  
  122. TODO
  123.  
  124. If you are interested in helping with this effort, please email us for
  125. further explanation on one of the topics listed below.  We also welcome
  126. suggestions for additional features.
  127.  
  128. Improve and update the Pippy User Interface.  As a starting point we have
  129. selected the LispMe interface <http://www.lispme.de/lispme/index.html>.
  130.  
  131. Object overhead reduction
  132. Code footprint reduction (remove longobject, fileobject, ...)
  133. Modified import mechanism - import from Palm databases, URLs, etc
  134. Stackless Python
  135. Stackless marshal (recursions can overflow the stack)
  136. Interactive interface (similar to LispMe)
  137. Integration with Palm
  138. Port Python library modules (usually require minor mods)
  139. Improve startup/shutdown speed
  140. Improve/abstract IO Stream interface
  141. Python Resource Manager (track stack, heap, freelists, etc.)
  142.  
  143. Upgrade to Python 2.0
  144.  
  145.  
  146. REMOVED PYTHON FEATURES
  147.  
  148. The following features have been removed from this port of Python:
  149.  
  150.     * float and complex objects
  151.     * file IO (stdio and stderr are simulated)
  152.     * documentation strings
  153.     * parser, compile - in non-interactive environments the parser and
  154.       compiler can be easily eliminated with a configuration switch
  155.     * most python library modules
  156.     * most extension modules
  157.  
  158.  
  159. KNOWN PROBLEMS
  160.  
  161. Recursive Python functions can overflow the stack, possibly requiring a
  162. hard reset.  The implementation of Stackless Python will overcome this
  163. problem.
  164.  
  165. The dynamic heap is variable, at most 256 KB, for systems running PalmOS
  166. version 3.5 or later.  Some applications may overflow this and raise a
  167. MemoryError exception. However, if this happens there may not be
  168. sufficient dynamic memory in reserve to clean up after Python
  169. necessitating a soft reset of the Palm.
  170.  
  171. This release of Pippy runs only on PalmOS 3.5 or higher. 
  172. There is a GUI problem with PalmOS 3.0 that we are investigating.
  173.  
  174. The current "BREAK" button implementation responds to any touch of the
  175. screen, not just the button.  This can be easily fixed, but we just
  176. haven't had the time.
  177.  
  178.  
  179. LINKS AND CONTACT INFORMATION
  180.  
  181.     Pippy Development Home
  182.     <http://www.endeavors.com/pippy.html>
  183.  
  184.     Feedback & General Comments
  185.     <pippy@endeavors.com>
  186.  
  187.     MAILING LISTS
  188.         Developer Issues
  189.         <pippy-dev@endeavors.org>
  190.         Bug Reports
  191.         <pippy-bugs@endeavors.org>
  192.         Announcements
  193.         <pippy-announce@endeavors.org>
  194.  
  195.     CVS REPOSITORY
  196.     <http://www.endeavors.com/pippy/download.html>
  197.  
  198.     Palm Developers Site
  199.     <http://www.palmos.com/dev/>
  200.  
  201.  
  202. AUTHORS
  203.  
  204.     Jeffery D. Collins <jcollins@endeavors.com>
  205.     Michael Gorlick <mgorlick@endeavors.com>
  206.     Endeavors Technology, Inc.
  207.     19700 Fairchild Rd, Suite 200
  208.     Irvine, CA  92612
  209.