This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: PHP fork project- Guile vs Python vs ?


On Sun, 9 Jul 2000, Mark Galassi wrote:

> On Sun, Jul 09, 2000 at 04:50:04PM -0600, Richard Stallman wrote:
> > There is lots of experience with translating other languages into
> > Scheme and Lisp, so we know it is practical.  We've already decided to
> > do things this way.
> 
> It might be good to point to that: your original decision, many years ago,
> was based on Adam Sah's tcl->scheme compiler called Rush which was
> vaporware (Adam's own words).  Adam later admitted being embarassed
> that he had over-sold it and that you had taken it so seriously.

Ummmm.....I'm not Stallman, and I don't know what he based his original
decision on. However, if I were asked the same question, I would give the
same answer, so I think I can explain some of the rational. Scheme was
built especially as a "universal language": one that it possible to
translate any language into. In fact, I believe that for most languages it
can be done via translating the parse tree into an S-expression, and
writing some macros and some support functions. Things like GC (which ends
any question about object life time) and continuations (which can simulate
any flow control structure) help immensely here. Try and read SICP to see
how easily a translator of a language is written in Scheme.

> I still think the best approach is to endorse another non-lisp-like language
> (probably Python), and make it easy to link to both Scheme and Python
> interpreter libraries.  That way you cover both types of users, and they
> can use the real languages they are accustomed to.

As a core Python develper let me comment here that Python is highly
unsuited for what you want here. In particular, classic Python does not
have continuations or tail-recursion, and has only partial GC. This is
enough for Python (which is a great language) but not enough to trnslate
(e.g.) Scheme into Python. However, translating Python into Scheme shuold
be a 2-week project once a sufficiently module system and object system
evolve. 
 
> On the other hand, if one of the translators is really working, we should
> all hear about it and it should be distributed in the main guile
> distribution, since it is one of the official goals of the project.

since guile isn't finished with a module system or an object system,
people are probably still afraid that writing a translator now might be
too much work that will turn out to be useless.

--
Moshe Zadka <moshez@math.huji.ac.il>
There is no GOD but Python, and HTTP is its prophet.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]