[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
go.
> Nevertheless, there are numerous marketing hurdles to overcome, the public's
taste
> 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
programming
languages (limited in power) that are embedded for use by this hulking majority
of users.
There are also FFI applications.
Lynn
* 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.
- 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, 2003/09/08
- Re: What is Guile?, Jonathan Bartlett, 2003/09/08
- Re: What is Guile?,
Lynn Winebarger <=
- 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