[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ok, here's what i'll do
From: |
Thomas Bushnell, BSG |
Subject: |
ok, here's what i'll do |
Date: |
08 May 2001 22:59:44 -0700 |
User-agent: |
Gnus/5.0803 (Gnus v5.8.3) Emacs/20.7 |
Ok, here's my plan.
Work on the module system is interesting, but I think I would be much
better placed to think about it after working with the existing system
more. So I don't think that will be where I work first.
I plan to go ahead and work on the python translator. Since there's
been some confusing tossing around of terminology, let me be clear:
The goal of this translator is to make available a procedure
called like (load-python "foo") which will load the file foo, which is
assumed to be python code. It will have to integrate nicely with
existing Scheme code in all the right ways and so forth.
It would also be nice to have a function that can detect the source
language of some other file, and then "load" can be changed to do that
and then call the proper language-specific load function.
This is the basic goal. Along the way, other things will surely get
done too.
There are, as I see it, five components to this work:
1) Find the right tools to scan and parse the incoming Python code.
There isn't a standard guile parser generator, so I guess I'll have
to find one.
2) Write the scanner and parser for Python.
3) Decide what the relation will be between Python code and Scheme
code--what will the interlingual calling conventions look like; how
will data formats convert, etc.
4) Write appropriate conversion and support functions that handle the
glue between Python and Scheme.
5) Write the actual translation function itself. It basically would
take Python procedure definitions and turn them into appropriate
Scheme lambda expressions, and then insert them into the
environment the same way load does.
A nice extra might be a python-eval function.
Thomas
- ok, here's what i'll do,
Thomas Bushnell, BSG <=