[Top][All Lists]

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

Re: [r6rs-discuss] Implementors' intentions concerning R6RS

From: Neil Jerram
Subject: Re: [r6rs-discuss] Implementors' intentions concerning R6RS
Date: Tue, 06 Nov 2007 21:54:59 +0000
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Besides, I think using libgc would yield a number of practical
> improvements for the end user: `scm_set_smob_mark ()' would become
> useless in most cases

I think I understand the point here, and it seems to me that this is
an improvement for the developer, not for the end user; and IMO not a
significant one (because it's pretty trivial to write a smob mark
function).  It also implies a performance cost, from scanning regions
of SMOB memory that Guile currently knows cannot contain heap

> and so would `scm_dynwind_free ()',
> `scm_set_smob_free ()' could be avoided almost entirely in guile-core,
> memory leaks would become less likely in the presence of non-local
> exists, marking a tree-like structure would just work (see
>, etc.

(I don't understand these ones in detail, so there may well be
significant benefits here.)

> OK, so my goals for 1.9 would be:
>   * Evaluate `libgc'-based Guile (see above).
>   * Rewrite the interpreter in Scheme (or a subset thereof), with a
>     tiny Scheme-to-C compiler.  That could be done in such a way that we
>     could re-use, e.g., the memoization and unmemoization code that
>     already exists in the first step.

Interesting.  Do you think that that would be a lot faster than the C
code we have now?

>   * Provide a documented C doc snarfing tool, written in Scheme, with a
>     public Scheme doc snarfing API.  I started looking at it based on
>     the modules I wrote for doc-snarfing in Guile-{Reader,Avahi,GnuTLS}.

Great; I've been thinking that we need this too.

>   * Provide some Unicode support.  The hardest part, I think, is that
>     we'd probably need to rewrite/extend the C port API.

I'm pretty Unicode-ignorant, but I've read enough to think that this
area is important.  Is the problem with the C API just that it has
"char" everywhere?


reply via email to

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