[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: What is Guile?

From: Lynn Winebarger
Subject: Re: What is Guile?
Date: Mon, 08 Sep 2003 22:25:31 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830

Jeff Read wrote:
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.

   Don't forget the run-time typing of values. Or the arbitrary precision
arithmetic, for that matter.

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.

    I'm working on a parser generator to go with the regexp compiler I
put up on guile-sources last week*.  Once guile comes with such tools (not
necessarily mine),  perhaps there will be a greater inclination to work on
translators.  I think that's always been the theory.

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 
> Nevertheless, there are numerous marketing hurdles to overcome, the public's 
> aversion to Scheme being just one of them.

   What public is that?  As far as I know, most of the public has an aversion 
to programming,
period.  I don't think the target is to translate Perl, so much as the kinds of 
languages (limited in power) that are embedded for use by this hulking majority 
of users.
   There are also FFI applications.


* I can now build predictive, SLR(1), and LR(1) parse tables.  I still have to 
do LALR(1) and
provide operator precedence relations to support Yacc style grammars.
   I am, of course, completely ignoring errors in grammars, so there's plenty 
of work left to
be done for an end-user type of product.

reply via email to

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