The Arc Debate
Hey, everyone, Arc is out! As if you didn’t know. I mean, I think the internet backbone has been saturated with refreshing news.ycombinator.com to be able to post the next reply.
But seriously, as one of my last blog posts, I thought I might shed a meager light on the issue. There are a lot of statements, many true, many untrue, many other, that have been made about Arc. I’d like to address some of them, one at a time.
First, though, if you don’t know, Arc is a recently-released Lisp programming language by Lisp pundit Paul Graham. He is also the guy who started the Y Combinator venture capital firm. And he wrote news.ycombinator.com in Arc before he released the language to the public. Now it’s out, and look at the raucous.
So, some of the finer points about the Arc debate:
People ask Why doesn’t it do Unicode? The language is meaningless if I can’t use Unicode.
See: here briefly here here here
This seems to be one that Paul Graham has tried to address himself. Simple answer: Paul Graham doesn’t need it, it doesn’t give him much value, and it’s not one of his priorities. What were you expecting? A Python killer? Everything that has ever been said about Arc by Paul Graham has indicated a small, minimal language based on a few principles: terseness of programs and axiomatic definition of the language and libraries.
People say It’s just a bunch of name changes from Common Lisp, with only minor extensions. Students write their own Scheme interpreter in a semester in college. This is nothing different.
Ok, yeah, you could write it in Lisp. And guess what, he did. But he wanted to do it in a different direction from where scheme and common lisp went. Above, he wanted to maintain the principles that he set out to abide by from the core of the language up. That’s why it’s different. It’s a fresh and evolving start. Yeah, you could write something similar in a semester in college. But the fact that it is stable (it runs news.ycombinator.com) and that the programs continue to get shorter shows that it’s more than that and that his principles are still working. It is an experiment in language design, not a fixed point in language practicality.
People say After six years, this is it?
Well, in those 6 years he has obviously been pretty busy with spending his millions. Give him a break.
People say Continuation-based web programming is equivalent to cookies/sessions/query string state.
No. They are not. Continuation-based web programming lets you program in a natural, structured programming style. You avoid the spaghetti code of html links you have to write. Continuation-based web programming lets you program in a functional style, not a goto style like the rest of them. Functional style programming is better for exploratory programming, which is one of the reasons Paul Graham started to write Arc. And one of the main reasons he gives for choosing Lisp in general. And it trivially fixes the back-button problem. Oh, why not a list of all the reasons to use continuations?
- No back-button problems
- Multiple tabs/windows with different state
- Functional style (forms look like function calls)
- Easy to modify/maintain
- Easy to read
- Easy to write
- Easy to wrap with more functions/macros
People say Continuation-based web programming lets you do all sorts of cool stuff, but what about global state which is shared by all windows/tabs?
Yeah, you know what? Multiple continuations can be closed over the same variables. That means you don’t have to worry about that. Or, you can just use sessions, if you really want.
People say Arc uses tables-based layout. What about CSS and accessibility?
Yeah, this one is tough. Paul Graham says he uses tables because they are more programmer-friendly (they let you explore). But this leaves screen-readers (for the seeing-impaired) in a mire of rows and columns, with no discernible order. It just isn’t important enough to him.
Well, this post is pretty messy, disorganized, and whatever. I don’t care. Here are a bunch of links, if you want to read all of the buzz. You might also like them if you’re a Google linkbot.
Lisp at Light Speed: Arc debarks
Hacker News | Take the Arc Challenge
Take the Arc Challenge
Arc - the Hundred Second Language - Robert Synnott
Arc is not a lot, but could it be?
Rondam Ramblings: My take on Arc
[FoRK] Re: Arc’s out, Nu vs. newLISP, and a retort to Paul Graham’s elitism
Stevey’s Blog Rants: Lisp is Not an Acceptable Lisp
Stevey’s Blog Rants: Lisp is Not an Acceptable Lisp
The Software Maven: An Arc-Tangent
Lisp at Light Speed: Arc debarks
Arc Forum | Infix Math
programming: Dear Proggit: Lets not start posting every toy lisp interpreter every hacker has ever made with titles like “This guy made his own arc in 2 weeks!”. Thanks.
Paul Graham’s Arc is released today… what is the long term impact? - comp.lang.lisp | Google Groups
Arc - An Unappreciated Approach to Language Design - Beautiful Code
Arc is released | Lambda the Ultimate
On Code: The ‘pre Arc’ Arc
Arc’s Out
Lisp at Light Speed: Arc Brevity
Zach’s Journal - Like a Bi-Metallic Strip
Drinkable Chicken » Arc, first impressions
(cadr life): Lazy Lists in Arc
smuglispweeny: Arc!Cells: It’s Alive!!!
smuglispweeny: Arc!Cells: Baby Steps
Arc Forum | Musings on Language Design
John Graham-Cumming: The Arc Challenge Explained
Fixing Software: A Wiki in Arc
Arc Forum | I have more challenge for you.Do the same thing, but make it survive a reboot of…
Object Oriented Arc
Arc’s if « Occasionally sane
ArcLite - Arc Ported to JavaScript
Lukas Renggli: We take the Arc Challenge
Lukas Renggli: We take the Arc Challenge
smuglispweeny: Meaningless First Impressions of Arc
Listening To Reason: Some potential advantages of Arc
Dude where’s my charset! | Schmevelopment
search results
On Arc, Paul Graham, and Unicode support as an exercise for the programmer // plasmasturm.org
Arc’s Out
ndanger.organism ::
blog :: Language design and Paul Graham’s dirty strings
Paul Graham on trolls | MetaFilter
Related Posts
Popularity: 6% [?]
Filed under community |13 Responses to “The Arc Debate”
Leave a Reply

One of your last blog posts? What’s this about? I think you’ve been doing a great job and I was hoping for more videos!
one of your last posts? say it aint so. I was looking forward to some more lisp screencasts.
Oh, well, since you asked . . .
I don’t think the blog format is really what I want to do. I’m starting to convert from a blog to a CMS, because I’m all about articles and videos, not rants and random thoughts.
And I’ve got a new episode ready. I’ll post it right now . . .
Hey - I’m currently writing my own blog in Arc, and can say well enough right now that designing a page using s and straight-up CSS has been as simple as one could ever ask. My code’s not yet ready to be unleashed on the world, but I assure you, it’s quite doable and just as terse as table-based layouts (perhaps even moreso).
Sorry, I was referring to the ‘div’ tag above and it got escaped out. =)
@Will: Thanks for the info!
[…] The Arc Debate | LispCast Hey, everyone, Arc is out! As if you didn’t know. I mean, I think the internet backbone has been saturated with refreshing news.ycombinator.com to be able to post the next reply. (tags: www.lispcast.com 2008 mes1 dia29 at_tecp Arc Lisp programming) […]
I thought the Arc web programming code was closure based and not continuation based. (I don’t think it uses Arc’s call/cc or cps.) If I remember correctly it’s a table of normal closures that get called.
It’s a simple and elegant solution.
I for one, like the iterative style that is being used for Arc’s development. It does mean it doesn’t have every feature on the first day and I’m ok with that.
I like the solution, too.
So I’m wondering then why the article talks about continuation based web programming since Arc doesn’t use that. Not a big deal, just wondering.
Just my mistake.
[…] The Arc Debate Continuation-based web programming lets you program in a natural, structured programming style. You avoid the spaghetti code of html links you have to write. […]
[…] happened when Paul Graham released the first version of Arc with no Unicode support. There was a big brouhaha on the internet with people basically that Paul eats babies and respects Satan’s no-nonsense […]