[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What is Guile?
From: |
Jeff Read |
Subject: |
Re: What is Guile? |
Date: |
Mon, 8 Sep 2003 20:33:19 -0400 |
User-agent: |
Mutt/1.4i |
On Mon, Sep 08, 2003 at 02:39:12PM -0700, Jonathan Bartlett wrote:
>
> The idea comes from Scheme itself - it doesn't really have a syntax. It's
> just a raw parse tree with some primitives. Using a combination of
> function definitions, macro definitions, etc., you can easily modify
> scheme to work like any system you want. Then you just need a parser to
> convert the raw code into a parse tree, and have your scheme interpretter
> run your parse tree.
>
> Basically, what you would need is the following:
>
> a) a flag in Guile so that you could specify which parser / language
> module to use
>
> b) the ability to create both macros and definitions within a closed
> environment which can be applied to a list (i.e. parse tree - I believe
> this is already there)
>
> c) an interface definition for parsers and language providers.
Don't forget d) parsers and language modules for various languages. :) They
probably have to be written in Scheme, and it seems that there are few people
willing to do one, or at least, willing to stick to it long enough so that it's
a recognizable form of the target language.
Converting language X to Scheme, and then interpreting the Scheme is an
interesting academic idea but if technology doesn't work for people then it
doesn't work. Guile isn't the fastest Scheme interpreter in the world, and
adding another layer of parsing and conversion will simply make things slower.
If given the choice between a slow, subtly incompatible Perl substitute and
Perl, most developers will simply embed Perl. Same goes for Python, or whatever
other language you can think of. There's also the taste aversion to Scheme to
overcome. GIMP appears to be migrating from Scheme to Perl as its embedded
language of choice. Alternatively they will target JVM or MSIL bytecode.
Making Guile compile to, say, the Parrot VM before execution and then writing
compilers that do X-language->Scheme->Parrot, might be an interesting way to
go. Nevertheless, there are numerous marketing hurdles to overcome, the
public's taste aversion to Scheme being just one of them. The only way I see
Guile becoming everybody's favorite multilingual embedded interpreter is if the
FSF really put its weight behind it as The Official GNU Way To Go. That's how
free software authors standardized on the creeping horror that is Autoconf
(which I'm writing a replacement for (in Guile!)). :)
--
Jeffrey T. Read
"I fight not for me but the blind babe Justice!" --Galford
- Re: What is Guile?, (continued)
- Re: What is Guile?, Kevin Ryde, 2003/09/02
- Re: What is Guile?, Ricard Mira, 2003/09/07
- Re: What is Guile?, Jeff Read, 2003/09/07
- Re: What is Guile?, Paul Jarc, 2003/09/08
- Re: What is Guile?, Thamer Al-Harbash, 2003/09/08
- Re: What is Guile?, Jonathan Bartlett, 2003/09/08
- Re: What is Guile?,
Jeff Read <=
- Re: What is Guile?, Jonathan Bartlett, 2003/09/08
- Re: What is Guile?, Lynn Winebarger, 2003/09/08
- Re: What is Guile?, Dale P. Smith, 2003/09/09
- Re: What is Guile?, Andreas Rottmann, 2003/09/09
- Re: What is Guile?, Thamer Al-Harbash, 2003/09/10
Re: What is Guile?, Jonathan Bartlett, 2003/09/02
Re: What is Guile?, Marius Vollmer, 2003/09/07