[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: shared-substrings missing in 1.7
From: |
Roland Orre |
Subject: |
Re: shared-substrings missing in 1.7 |
Date: |
Fri, 16 Jan 2004 14:49:54 +0100 |
On Fri, 2004-01-16 at 13:52, Marco Parrone wrote:
> Roland Orre on Fri, 16 Jan 2004 09:49:11 +0100 writes:
>
> > In about half of my code I can easily replace make-shared-substring
> > with normal substring, as I there have used them for efficiecny
> > reasons only, but in the rest of the code the functionality of shared
> > substrings is essential so I need to reimplement them.
>
> Why don't you copy the make-shared-substring code into a new Guile
> module? So you can use it whithout needing to patch Guile (and so
> whithout needing to syncronize your modifications with the main tree).
>
> Then all what you have to change will be adding and :use-module to the
> needed modules, right?
It is not that easy because the tag type substring scm_tc7_substring
doesn't exist at the moment. Further on will the garbage collector
not be aware about substrings, therefore I need to protect them, as
well as the original string so I can deallocate them in the right
order. I just tested this idea and got segmentation fault when I
deallocated just the original string. I'll probably have to implement
a deallocate_all_shared substrings as well.
Anyway, this is a simple solution to keep me going, my old code will
still work, but somewhat more messy, so it is not a long term solution.
I'm slightly worried what will happen with substrings in the future.
Neither do I understand the reason why removing explicitly shared
substrings and then later add implicit shared substrings as was the
intention. With implicit internal substrings, I see no reason to not
have explicit substrings as well. Even though make-shared-substring
would become unnecessary in the future if all substrings are
shared, I consider it wrong to remove a facility before the
replacement implementation is done.
Best regards
Roland Orre