If I remember correctly, Arc being tied to MzScheme was supposed to be a temporary thing, which I figured was the reason that Arc wasn't being ported to MzScheme 4.x. Does the work put into porting to 4.x mean that the official branch of Arc is going to stay tied to MzScheme for a good deal longer?
If a string was a linked list, the storage and processing overhead would be considerable compared to an array-based implementation with no tangible benefit - how often do you really perform a recursive process on a string or create a new string with the tail of an old string?
If you're using the "stock" version of arc (the one provided through this site and not Anarki) then I think the only change you need to make is what you'll find here: http://arclanguage.com/item?id=3898
Anarki already contains this patch, and given the amount of time since the Arc2 release, cloning the repository is probably your best bet.
I'm not sure what you mean, do you change those in the Arc source code? I'm sort of new to all of this, just downloaded arc2 a few days ago and got this error in mzscheme on my Mac and FreeBSD box:
compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (quote nil)
=== context ===
~/arc2/ac.scm:960:0: aload1
That's what my post intends to "fix", assuming that this is a problem for other people. (Fix is quoted because I don't know what functionality this would break)
The very latest mzschemes—those even more recent than 372—have switched to immutable lists instead of mutable ones; i.e. (set-car! my-lst) and the like no longer work. However, you can get mutable lists with the mcons, mcar, and mcdr operators, and this is what sacado was referring to.