Arc Forumnew | comments | leaders | submitlogin
4 points by rntz 3312 days ago | link | parent

Here's the diff: http://www.rntz.net/files/arc2to3.patch

Just giving it a preliminary look over, it seems like you changed 'set to 'assign. Any reason for this in particular, pg? It seems like it changes a lot of code, and as 'set is fairly common, it kind of goes against the philosophy of short names for common operators.



2 points by CatDancer 3312 days ago | link

"set" actually wasn't common at all; in arc2 it is used only a handful of times in arc.arc, mostly to implement "=".

-----

2 points by rntz 3312 days ago | link

Eh, when I think about code use, I usually think about anarki — which is probably the problem itself, now that I think about it.

    $ find anarki/ -name '*.arc' -print0 | xargs -0 grep "[(']set[[:space:])]" | wc -l
    180
It's not so many uses that it's impossible to update. Many if not most of these uses could admittedly be replaced with '=, and arguably this was the correct thing to do in the first place. It just seems like an odd decision, and I'm wondering if there's any specific reason for it.

-----

3 points by CatDancer 3312 days ago | link

In my opinion "set" is a better name for what "assert" used to do, and I think "set" was available since it was being used for a low-level operation for which in user code "=" is a better and shorter name.

Also, don't forget http://www.paulgraham.com/arc0.html:

"I worry about releasing it, because I don't want there to be forces pushing the language to stop changing. Once you release something and people start to build stuff on top of it, you start to feel you shouldn't change things. So we're giving notice in advance that we're going to keep acting as if we were the only users. We'll change stuff without thinking about what it might break, and we won't even keep track of the changes."

-----