unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Jeff Read <bitwize@snet.net>
Cc: guile-devel@gnu.org
Subject: Re: What is Guile?
Date: Mon, 8 Sep 2003 20:33:19 -0400	[thread overview]
Message-ID: <20030909003319.GC4490@strike.parodycheck.net> (raw)
In-Reply-To: <Pine.GSU.4.44.0309081432540.2598-100000@eskimo.com>

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


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel


  reply	other threads:[~2003-09-09  0:33 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3EF2F7DF008213D5@pop3.es.tisadm.net>
2003-09-02 16:47 ` What is Guile? Tom Lord
2003-09-03 20:43   ` Han-Wen Nienhuys
2003-09-03 22:52     ` Tom Lord
2003-09-03 23:12       ` Han-Wen Nienhuys
2003-09-04  9:43   ` tomas
2003-10-07 17:11     ` Marius Vollmer
     [not found]   ` <3EF2E935008FB586@pop2.es.tisadm.net>
2003-09-07 22:22     ` Marius Vollmer
2003-09-02 18:08 ` What is Guile?y Thamer Al-Harbash
2003-09-03 16:34   ` Han-Wen Nienhuys
2003-09-02 21:03 ` What is Guile? Jonathan Bartlett
2003-09-02 21:59 ` Kevin Ryde
     [not found]   ` <3EF2F7DF008E4D8D@pop3.es.tisadm.net>
2003-09-07 12:38     ` Jeff Read
2003-09-08 17:14     ` Paul Jarc
2003-09-08 18:32       ` Thamer Al-Harbash
2003-09-08 21:39         ` Jonathan Bartlett
2003-09-09  0:33           ` Jeff Read [this message]
2003-09-09  2:43             ` Jonathan Bartlett
2003-09-09  3:25             ` Lynn Winebarger
2003-09-09 13:20             ` Dale P. Smith
2003-09-09 18:46             ` Andreas Rottmann
2003-09-10 11:55               ` Thamer Al-Harbash
2003-09-07 22:00 ` Marius Vollmer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030909003319.GC4490@strike.parodycheck.net \
    --to=bitwize@snet.net \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).