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