Topy 0.1
François Pinard
pinard at iro.umontreal.ca
Mon Apr 8 19:52:14 EDT 2002
Hi! An initial snapshot of the in-the-works Topy is available as:
http://www.iro.umontreal.ca/~pinard/topy/Topy.tar.gz
A few days ago, I told your that I would announce any result when available,
even if only dimly usable. So, here is a little something! I append
the beginning of the `README' file for this project. Later announcements
might be more succinct, hoping anyway that they will convey better news! :-)
* README for Topy allout -*- outline -*-
.. WARNING!
This is merely a snapshot of an incomplete program. The Scheme to Python
converter is _NOT_ usable yet. I'm only making it available for people
who want to comment or help even at an early stage of this project.
If `scmtopy' crashes on you, send me a small input showing the problem.
Only Scheme integers get translated for now. Nesting of `define' is
naive, in that variables from intermediate levels may not be read nor
modified from inner scopes; a related problem is that closures are not
supported yet. Tail recursion is not implemented, and this is required
before `let' looping constructs generate correct code. Please tell me
if I forgot something else!
.. Introduction
. : What is Topy?
Topy is meant to help its users at converting of programs or modules
from a few other languages to Python (only Scheme is supported by now).
Compromises favour legibility over strict semantics, so the resulting
program is not likely to be equivalent to the original.
The user is not freed from understanding and debugging the resulting
program, and a serious clean up with a good editor is the first normal
step after Topy conversion. We believe that this approach yields
more maintainable Python code in the long run, than stricter and less
legible conversions. Data types, statement constructs and overall
concepts of the original language may be more or less foreign to Python,
but wherever the source language and Python coincide, the generated
Python might closely approximate the intent of the original sources.
This is alpha status software: specifications are not frozen, things may
change. Report problems to François Pinard at `pinard at iro.umontreal.ca'.
For discussing specifications or making suggestions, please also copy
the `python-list at python.org' mailing list, so to help brain-storming!
. : Installation
Topy itself requires Python 2.0 or better to execute. By default,
it generates Python code that should be compatible with Python 1.5.2.
The installation of Topy is fairly simple and standard. Once into the
directory of the Topy distribution, execute `python setup.py install'.
To get an option reminder, do `python setup.py install --help'.
See the Distutils documentation if you need more information about this.
To check the installation, type `scmtopy -q < /dev/null > /dev/null'
in a shell; you should get a mere "::: File `<stdin>' is empty.".
[... remainder deleted ...]
--
François Pinard http://www.iro.umontreal.ca/~pinard
More information about the Python-list
mailing list