Wednesday, January 30, 2008

Arc 0

Paul Graham has released the first version of Arc, his sugary Lisp built on MzScheme:

Why release it now? Because, as I suddenly realized a couple months ago, it's good enough. Even in this unfinished state, I'd rather use Arc than Scheme or Common Lisp for writing most programs. And I am a fairly representative Lisp hacker, with years of experience using both. So while Arc is not the perfect Lisp, it seems to be better for at least some kinds of programming than either of the leading alternatives.

He says that programmers should embrace dirtiness:

Over the years my appreciation for lists has increased. In exploratory programming, the fact that it’s unclear what a list represents is an advantage, because you yourself are unclear about what type of program you’re trying to write. The most important thing is not to constrain the evolution of your ideas. So the less you commit yourself in writing to what your data structures represent, the better.

There are many things I like about Lisp, but the tendencies towards loose data and unnamed values are not among them. I find it helpful to think about names and structures, and encapsulate the details as soon as possible. The language should absolutely encourage you to make changes as you refine your thinking, but this does not mean that the ambiguity itself is a virtue.

I tend to agree with Aristotle Pagaltzis that the lack of concern about Unicode is worrying. For additional commentary, see Lambda.

Update: Jens Alfke is “flummoxed” by Graham’s comments about character sets.

Update 2: Ron Garrret has a sensible take.

Comments

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment