Arc in a nutshell: It’s no Dylan (and that’s too bad)

What’s the point of [Arc][1]? Infix-syntax [Dylan][2] is a much, much better language, especially once you add in the changes and features from the [Dylan Design Notes][3] and the infix version (but keep the prefix syntax). Really, Dylan is pretty much the Ultimate Lisp in a lot of ways.

Arc is essentially `(decr Scheme)` with a couple of interesting additions to try and make up for the downsides. Downsides like a lack of international character support (what decade is it again?!) and an unhygienic macro system.

[Dylan — as designed in the **early 1990s**][4] — really is `(incr Scheme)`. It’s essentially Scheme re-hosted atop an enhanced CLOS-like object system. With the prefix syntax, it’s even very Scheme-like in actual use.

So, yeah. If you’re interested in Arc, check out Dylan. It’s a better language, and there have been implementations available for 15+ years.

PS – The original Dylan had a [``][5] class. In the early 1990s.

[1]: http://www.arclanguage.org/
[2]: http://www.opendylan.org/
[3]: http://amigos.rdsathene.org/other/prefix-dylan/design-notes/home.html
[4]: http://amigos.rdsathene.org/other/prefix-dylan/book.annotated/preface.html
[5]: http://amigos.rdsathene.org/other/prefix-dylan/book.annotated/ch12.html#unicode-string-class0

Steve Yegge describes what’s wrong with Lisp

Steve Yegge, Lisp is Not an Acceptable Lisp:

You’ve all read about the Road to Lisp. I was on it for a little over a year. It’s a great road, very enlightening, blah blah blah, but what they fail to mention is that Lisp isn’t the at the end of it. Lisp is just the last semi-civilized outpost you hit before it turns into a dirt road, one that leads into the godawful swamp most of us spend our programming careers slugging around in. I guarantee you there isn’t one single Lisp programmer out there who uses exclusively Lisp. Instead we spend our time hacking around its inadequacies, often in other languages.

Steve does a very good job of articulating a lot of the things I dislike about Lisp, especially Common Lisp. One interesting thing, though, is that a lot (but not all) of the issues he raises are addressed by Dylan.

One of the more interesting things about Dylan in this context is that, despite not adopting a traditional message-based object system like Smalltalk or Objective-C (or their more static cousins C++ and Java), Dylan does push objects all the way down, but in a functional style. It appears to work pretty well, making it easy to define both nouns and verbs in the combinations a developer might need, and even (through its hygienic macro system) allow developers to extend language syntax too.