Arc Forumnew | comments | leaders | submitlogin
Anyone get Arc running on mzscheme 4.x?
1 point by kens 5624 days ago | 10 comments
Has anyone managed to get Arc to run on mzscheme 4.x? I'm asking because I want to run Arc on my SheevaPlug (which has an ARM processor). The latest mzscheme runs fine on the ARM, but version 372 didn't have ARM support yet. So if I want to use Arc, either I need to figure out how to fix 372 for the ARM, or get Arc to work on 4.x, neither of which seem appealing.


5 points by pg 5622 days ago | link

Rtm tried for a bit, but eventually gave up. Versions of Mzscheme after 372 made conses immutable, and it was just too hard to work around this.

(I'm surprised they did that, actually, because it means Mz is no longer compatible with the Scheme standard.)

This might be the time to fork off a new MzScheme, if anyone is up for that.

-----

2 points by elibarzilay 5617 days ago | link

No fork is necessary for mutable pairs -- mzscheme is flexible enough to allow breaking itself...

-----

1 point by CatDancer 5617 days ago | link

I tried a port (http://hacks.catdancer.ws/plt4-port.html) but it's running 3.5 times slower... any suggestions?

-----

1 point by CatDancer 5618 days ago | link

This might be the time to fork off a new MzScheme, if anyone is up for that.

Are there any bugs or deficiencies in MzScheme 372 that we'd like to fix if we keep using it?

-----

1 point by rocketnia 5617 days ago | link

Wouldn't it be simpler just to fork from 4.2? Making immutable pairs not-really-immutable shouldn't actually break any existing PLT-based code, since that code won't modify them. ^_-

It might break some low-level optimizations in PLT Scheme itself (which could be fixed in the forked version), it might break compatibility with other projects that dig into the PLT code, and it might annoy some library writers who really didn't want careless users to shoot themselves in the feet or expose security holes, but that's all the trouble I can think of offhand.

-----

1 point by CatDancer 5617 days ago | link

Simpler in what way?

Breaking the PLT Scheme optimizer by mutating pairs it thinks are going to be immutable and then going in and figuring out which optimizations to fix doesn't sound very simple to me... but, assuming that it was easy to do, what does starting from 4.2 do for us?

-----

1 point by rocketnia 5617 days ago | link

I guess I just see "Take the newest MzScheme and implement not-so-immutable conses again" as a conceptually easier task than "Take the fork and implement feature A and feature B as inspired by the newest MzScheme." Of course, the more objections we have to MzScheme changes, and the more features of our own we want to include, the harder this becomes.

-----

2 points by elibarzilay 5617 days ago | link

There are a lot of new features, as well as more and better optimizations in v4.2.

-----

2 points by conanite 5618 days ago | link

The SheevaPlug supports java, might rainbow work for you?

-----

1 point by anarcer 5622 days ago | link

http://www.arclanguage.org/item?id=9385

-----