[fluxus] 3m (was: Re: building CVS on Ubuntu Feisty)

Dave Griffiths dave at pawfal.org
Thu Apr 26 02:14:42 PDT 2007


I'm so glad to hear at least someone's got it working!!!

> Just in case.  (Someone correct me if im wrong here...)
>
> You also need to build mzscheme3m with
>
>  > ./configure --enable-shared

yes

> and build the 3m thing (whats that?):
>
>  > make 3m

I *think* the svn version builds this by default now.

3m is a garbage collector the plt people have recently switched to using,
which is more accurate than their previous one. I'm quite glad they've
done this, it would affect fluxus scripts used for things like
installations, as it fixes problems where memory would not be freed over
long time periods.

Gory detail:

3m is short for "moving memory manager" and allows allocated chunks of
memory to be shifted around to reduce fragmentation. This doesn't directly
change anything to do with how Scheme scripts are written (neither does
the entire switch to plt either btw), but it makes writing the C++
interface to Scheme *much* harder - hence it took me a long time to fully
understand the situation, and track down all the bugs.

I've been using 0.12 + 3m solidly for a couple of months now - including
developing and performing with al-jazari, so I'm as confident as I ever am
about it's stability.

cheers,

dave






More information about the Fluxus mailing list