guile-devel
[Top][All Lists]
Advanced

[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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]