From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Lynn Winebarger Newsgroups: gmane.lisp.guile.devel Subject: Re: What is Guile? Date: Mon, 08 Sep 2003 22:25:31 -0500 Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Message-ID: <3F5D482B.4040808@indiana.edu> References: <20030909003319.GC4490@strike.parodycheck.net> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1063076052 19992 80.91.224.253 (9 Sep 2003 02:54:12 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 9 Sep 2003 02:54:12 +0000 (UTC) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Sep 09 04:54:10 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 19wYdu-0004eE-00 for ; Tue, 09 Sep 2003 04:54:10 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.22) id 19wYdM-0004T1-Hx for guile-devel@m.gmane.org; Mon, 08 Sep 2003 22:53:36 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.22) id 19wYbw-0004RF-Tf for guile-devel@gnu.org; Mon, 08 Sep 2003 22:52:09 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.22) id 19wYbu-0004PB-Go for guile-devel@gnu.org; Mon, 08 Sep 2003 22:52:07 -0400 Original-Received: from [129.79.1.75] (helo=julesburg.uits.indiana.edu) by monty-python.gnu.org with esmtp (Exim 4.22) id 19wYbt-0004Nu-HY for guile-devel@gnu.org; Mon, 08 Sep 2003 22:52:05 -0400 Original-Received: from stjoseph.uits.indiana.edu (stjoseph.uits.indiana.edu [129.79.1.78]) by julesburg.uits.indiana.edu (8.12.9/8.12.9/IUPO) with ESMTP id h892q2kO020488 for ; Mon, 8 Sep 2003 21:52:02 -0500 (EST) Original-Received: from indiana.edu (dial-124-76.dial.indiana.edu [156.56.124.76]) by stjoseph.uits.indiana.edu (8.12.9/8.12.9/IUPO) with ESMTP id h892q1cb019051 for ; Mon, 8 Sep 2003 21:52:02 -0500 (EST) User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830 X-Accept-Language: en-us, en Original-To: guile-devel@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.devel:2772 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:2772 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. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel