From: Christopher Cramer <crayc@pyro.net>
Cc: guile-devel@gnu.org
Subject: Re: Compilers for Guile (related to roadmap and goals)
Date: Tue, 23 Apr 2002 17:03:38 -0500 [thread overview]
Message-ID: <20020423170338.A10827@kiwi.pyrotechnics.com> (raw)
In-Reply-To: <3CC4FE4E.1B343860@staff.ttu.ee>; from tammet@staff.ttu.ee on Tue, Apr 23, 2002 at 09:25:18AM +0300
On Tue, Apr 23, 2002 at 09:25:18AM +0300, Tanel Tammet wrote:
> 2) The last distro compilation claimed smth about a duplicate
> definition (cannot remember exactly): one of the internet-oriented
> functions ins Guile .c clashed with a standard one in the Linux
> (gcc?) library. I could fix it in source, though.
Anyone who follows bug-guile is not only familiar with, but probably
sick of, this problem. It has been puzzling to me why this wasn't fixed
a long time ago. There seems to be some sort of bureaucratic problem
with releasing another 1.4.x with just a fix for this problem.
> Obviously, many Guile developers do not think
> speed is important (otherwise Guile would be at least
> as fast as SCM and would have a compiler).
In their defense, sometimes other things take priority over speed.
I agree with the rest of your argument though; speed is very important.
> - It would probably be trivial to make Hobbit understand
> guile primitives. For example, Aubrey hacked Hobbit
> to support the last versions of SCM. I can do that too :)
One of the difficulties, from what I've seen, is that most of the module
system isn't made up of primitives. It leads to sort of a chicken and
egg problem: how do you compile the module system, when the compiler
depends on the module system? But I may be misunderstanding the problem.
> There are three kinds of code where Hobbit loses in a major
> way to Stalin etc:
>
> - code using call/cc in speed-critical parts. The slowness
> of this stems from the way scm (and guile) are interpreted
> (using stack), NOT hobbit. You can make such code compile
> nicely only with a completely different (non-stack) approach,
> and many byte-code compilers do this (hence being fast
> on call/cc).
I think the consensus is that call/cc just isn't going to be fast if
you want to interface with C. I suppose if you can detect upward-only
uses of call/cc, those uses can be done with setjmp.
> - code relying on fast (proper) implementation of tailrecursion
> for mutually tail recursive functions. Hobbit (and Bigloo, for
> example) only recognise tail recursion inside a function, not
> mutual tail tail recursion between different functions.
This is pretty much impossible to solve without help from the C compiler.
But, hey, we can change gcc, so anything is possible.
> And now, the final question after the long story:
> is anybody from the Guile community right now hacking
> Hobbit or some other scheme-to-c compiler for Guile?
I have tried to get Hobbit working again, but I don't have any experience
with compiler development, and I didn't get very far. Mostly what I got
was an urge to rewrite the module system.
--
Christopher Cramer <crayc@pyro.net> <http://www.pyro.net/~crayc/>
Quoi que vous fassiez, écrasez l'infâme, et aimez qui vous aime.
-- Voltaire
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2002-04-23 22:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-23 6:25 Compilers for Guile (related to roadmap and goals) Tanel Tammet
2002-04-23 14:58 ` Rob Browning
2002-04-23 22:03 ` Christopher Cramer [this message]
2002-04-24 2:55 ` Thien-Thi Nguyen
2002-05-14 10:20 ` Thien-Thi Nguyen
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=20020423170338.A10827@kiwi.pyrotechnics.com \
--to=crayc@pyro.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).