Arc Forumnew | comments | leaders | submit | pg's commentslogin

Yes, I hope.

-----

18 points by pg 6071 days ago | link

The baby's sleeping, and I'm hacking.

The next release will have more improvements to news.arc than the underlying language, because that's what I've been working on most lately. But I'm going to be focusing more on the language soon.

-----

4 points by projectileboy 6071 days ago | link

LOL... That's awesome!

Hey, have fun with the little person; I'm on number three, and I have a (mostly) great time. I wish I had some excellent parenting advice to give...

-----

15 points by pg 6168 days ago | link | parent | on: Where are we going?

The first three are right. As for 4, it's not so much that I prefer less communication as that I sometimes may be too busy to visit the site.

I think the thing people may not understand is that I can only work on Arc intermittently. In the spring as well as a YC cycle we had startup school and I got married. The next day the summer YC cycle started. During the summer I was busy with a larger than usual number of startups. As soon as it was over I went on honeymoon, during which I barely touched a computer. I got back to the US just before applications for the winter cycle were due. I've been reading them all the past week, and I still have over 100 left. (I probably wouldn't even be writing this if I weren't desperate for ways to procrastinate.) Then we have to move YC and ourselves to the west coast, then do interviews. I'm hoping that I'll be free to work on Arc in mid or late November, but I don't want to promise anything.

So it's not so much that I don't want to be held to a schedule as that I couldn't do things to a schedule even if I wanted to.

I'm hoping that ultimately doing so many things will make them all turn out better. But it does mean I can't do any of them more than part time.

In answer to your specific questions: I don't think I can commit to an upper bound for new releases, because the factors that determine whether or not I can work on Arc aren't cyclic. Yes, I'll incorporate bug fixes, the next time I get to work on the language, which I hope will be late this year. At the moment the most valuable things people interested in Arc could do are (a) find bugs in the current implementation, (b) think about the core language and specifically what new operators, if they existed, would make existing Arc programs like news.arc significantly smaller in tokens, and (c) try using Arc to write different kinds of applications and report what happens.

-----

[deleted]
5 points by almkglor 6167 days ago | link

Did you have to be so crude?

Well I'm also kinda pissed that PG doesn't seem to be noticing anything Arc-related anymore, but his loss IMO.

-----

4 points by silence 6166 days ago | link

Thanks for all your hard work almkglor. I have learned a lot.

-----

18 points by pg 6168 days ago | link | parent | on: Where are we going?

Oh honestly. Perl had the popularity Arc could have had. Then Python did, then Ruby. The fact that the "winner" keeps changing shows that it doesn't matter which one you beat.

I've long since stopped worrying about other languages. If they're genuinely better, they deserve to win. And if they merely have "momentum," they'll ultimately be superseded, just like every other language du jour before them.

-----

9 points by almkglor 6168 days ago | link

I get this feeling that Arc is the language that is just going on by momentum.

Further, I don't think Arc, PG version, is as well-designed as you think.

For example: "code is spec". Apparently the code itself is to be the specification for the language. However, this brings up some questions: for example, does the fact that (ssplit '(1 2 3) 0) return ((1) (2 3)) part of the specification, or is that a bug? http://www.arclanguage.org/item?id=8450 .

Or how about the cute little fact that the PG 'map function can be safely recontinued when you capture the continuation in the mapping function if the given structure is a list, but is not safely recontinuable if the given structure is a string? Is this a deliberate design decision, an oversight, or something you don't specify and so any other implementation can do what they want?

And while tagging allows the programmer to arbitrarily create new types, those new types don't get along well with the builtin functions. I can't build a vector type in PG Arc that will work with the builtin functions. I can't build a quaternion type which I can multiply with a scalar number using '* .

These are design points which have been belabored for years; Brooks in 1975 attacked using "implementation as spec", pointing out that it limits future implementations by forcing them to always use the old implementation, for example.

-----

6 points by rntz 6167 days ago | link

If arc is continuing by momentum, it's a very different kind of momentum than the momentum languages like Java, Python and Perl survive on. They have momentum in that they have many large and complex libraries and programs written in them which are being actively used to the point where rewriting said software in another language is no small task; and hence most people are interested, not in making a new and better language, but in making the old language better.

Arc has none of this. The reason why it continues is because the people using it are enamored of it for its own sake, not because they depend on it. This is both a blessing and a curse. A blessing, because it means Arc is free to change and improve; a curse, because it means Arc is incomplete and a moving target.

-----

8 points by pg 6167 days ago | link

These are just bugs. Good design doesn't equal not having bugs. If it did, someone who merely patched bugs in a system would be a great designer.

-----

9 points by stefano 6167 days ago | link

> These are just bugs

This is one reason why it is important for you to be here: some simple things like the problem with 'splice are clearly bugs, but other things are not. For example, the fact that '(1 . 2 . 3) reads as '(2 1 3) is just something drained accidentaly from mzscheme's reader or is part of Arc? Since you've written Arc, you're the only one to really know this. We can only suppose.

-----

8 points by jimbokun 6167 days ago | link

Perl, Python, and Ruby are successively closer approximations of Common Lisp.

I admire the ideas behind Clojure because it makes a different set of design decisions from Common Lisp. This seems to have even gotten the attention of Common Lisp developers, and those guys are pretty hard to impress.

The focus on immutability, literals for data structures other than lists that share a common "seq" interface, first class functions and closures, multi-methods without OO, lazy sequences, and full fledged macros hit an interesting sweet spot that is not touched by any other language I know. Mr. Hickey has managed to put all of those things together in a way that strengthen, reinforce, and complement one another. That is an impressive feat of language design.

My point is that Clojure is not "just" popular. By making unique decisions about the semantics of the language, and not just improving the syntax over the semantics of an existing language, Clojure may very well be one of those languages whose ideas remain influential long after it stops being popular.

(I'm curious, does Arc innovate in terms of its semantics being significantly different than its predecessors? It seems to have the goal of taking existing Lisp paradigms and making it possible to express them more succinctly. But I might be missing something important.)

So, even by the criteria you put forth, Clojure might be a language worth watching.

-----

5 points by stefano 6167 days ago | link

Clojure has already taken many things from Arc (there is also 'prn !)

-----

8 points by SwellJoe 6168 days ago | link

Perl had the popularity Arc could have had. Then Python did, then Ruby.

I will point out that Perl still has the popularity. Python and, particularly, Ruby have dramatically fewer developers and lines of code than Perl. But, then, Perl has fewer developers and lines of code than PHP. So, unless PHP is the exception that proves the rule, the popularity argument is obviously moot. But, I do think there's something to be said for pragmatism. While Perl (or Python, Ruby, etc.) has its flaws, it also has a vast community of people working on solving them...will Perl 6 be ready before arc is usable for a similarly wide array of problems? Seems pretty likely.

-----

7 points by z0ltanz0ltan 6168 days ago | link

One pattern that I observe - you respond only to those points that rebuff you. Rather than proposing solutions and/or accepting that you have been less than clear about your plans for Arc (especially as this is a real community now and not your personal pet project), you have been exceedingly discourteous to your fellow Arc-enthusiasts. I feel sorry for them and happy for myself that I am not part of this farce.

Funny thing is, when I read your essays a couple of years back, I did respect you. Reading stuff like this kind of erodes that dramatically. Good luck pg.

-----

10 points by pg 6168 days ago | link

you have been less than clear about your plans for Arc

It seems to me that I've been much more explicit about this than people working on new languages usually are at this stage:

http://www.paulgraham.com/core.html

-----

4 points by akkartik 6167 days ago | link

In fact, I always felt PG released arc sooner than he would have because of all the people who asked to see it.

-----

1 point by bayareaguy 6164 days ago | link

Judging from it's first year, I don't think Arc will follow the popularity paths of those other languages. It's more likely to go the way of Dylan.

-----

2 points by pg 6168 days ago | link | parent | on: NewLisp - will Arc ever get to surpass this?

Dynamic scope is not a daring innovation. It is an ancient mistake.

-----

1 point by Ramir 6085 days ago | link

Ah, but of course dynamic scoping is bad for any, any language, whatever the design goals. Everybody knows that since ages ago. <end of my turn to be clever>

My fascination about newLISP was exactly that: "What?! Dynamic scope by default?! ...Oh, but look, they say you can scope lexically & do closures with no fuss... Context as an explicit first-class object? hey, that's an idea, for once."

newLISP indeed has real flaws, - which can be mistaken for mistakes, unless you take into account the exotic design requirement for newLISP: to fit a Swiss-army-knife function library, together with functional and O-O programming support & a stand-alone web server, into a 300kb executable.

We can but guess of the author's intent. My guess is that the built-in distributed computing functionality has something to do with the plan.

-----

1 point by rincewind 6168 days ago | link

If you call it "Context-Oriented Programming", it becomes a great feature :)

http://common-lisp.net/project/closer/contextl.html

-----

19 points by pg 6168 days ago | link | parent | on: Where are we going?

I don't feel any rush in producing new versions, just as I didn't feel any rush in releasing the first one. Lisp hackers have waited 50 years for a good implementation. That didn't kill Lisp. Hackers used to this idea aren't going to panic because Arc hasn't been updated for n months. And the ones who feel that an actively growing source tree is more important than the underlying language were in the wrong place to begin with.

-----

14 points by stefano 6168 days ago | link

How are we supposed to look at Arc then? The problem doesn't lay only in the fact that no source has been written, but in the fact that who has full control over Arc doesn't discuss about the language with the community. Is Arc just a one-man work and arclanguage.org just a way to show the world this work from time to time?

It's ridiculous that to bring you back in the forum we needed such a harsh post.

-----

11 points by pg 6168 days ago | link

If I were you I'd look at it from the Lisp tradition: as part of a 50 year history with many dialects, rather than as an urgent effort to manage one particular implementation consisting of a huge pile of libraries on top of a badly designed language core.

People who want languages like that already have plenty of options, even Lisp dialects.

-----

7 points by stefano 6167 days ago | link

I didn't mean to say that core language isn't important. It is important. My main point point is that the community should be able to partecipate in the design. This is why I've advocated a fork of Arc, because to improve the core of the language you need help from who will use the language. A prototype is a good way to make this happen even when you're in the design phase and not in the production phase, but it is useless without a communication channel between the designer and the users.

-----

9 points by jimbokun 6168 days ago | link

Your mantra in your role running Y-Combinator is "make something people want."

Is Arc exempt from that?

-----

17 points by pg 6168 days ago | link

You're forgetting two things.

1. The time scale. I don't want to make what people think they want right now. Following that recipe earlier would have got me Perl, which lost its lead to the language I would have gotten a little later, Python, which lost its lead to the language I would have gotten a little later, Ruby, which... See the pattern?

2. The audience. "Make something people want" is a recipe for companies. Their goal is to make a lot of money, which means aiming for a wide audience. That shouldn't necessarily be one's goal in every kind of work. It's ok to want to be Jane Austen instead of Perez Hilton, even though Perez Hilton is what most people want.

-----

10 points by jimbokun 6168 days ago | link

"I don't want to make what people think they want right now."

Fair enough. I think this sentence pretty succinctly answers the questions in the original post of this discussion.

-----

5 points by john_amendall 6168 days ago | link

Actually, it might be! PG doesn't need to make a living off of Arc.

-----

3 points by cronin1024 6168 days ago | link

Yes and no - he may not be selling Arc itself, but his reputation as a Lisp expert is indeed on the line.

-----

7 points by horia314 6168 days ago | link

hardly. I don't think anybody will thing less of him if Arc somehow fails. It was an ambitious project to begin with.

-----

10 points by rntz 6168 days ago | link

I've got to say I agree with pg on this. It's more important that Arc turn out well in the long run than in the short run. Also, although Arc isn't moving very fast, I have to say that the more I actually program in it, the more I appreciate its design. I still find myself missing the lack of a proper library/module/namespace system, and of course given that some actual libraries would be useful, but that's about it for truly major issues.

That said, I do think pg could do with talking to the community a little more, and vice-versa.

-----

5 points by pg 6217 days ago | link | parent | on: I know no Lisp at all, should I learn Arc?

I'll have a good deal of time to work on Arc in October and November. I'll probably release some new versions then.

-----

6 points by pg 6217 days ago | link | parent | on: Ask PG: Arc on V8?

I'm focused more on the core language features than on implementation in this phase.

-----

6 points by pg 6256 days ago | link | parent | on: Has the leaders threshhold changed?

Oops, yes, sorry. I just released a new version of the code and it had some new news.yc stuff in it that I hadn't adapted yet to arclanguage.org. Will fix.

-----

3 points by rincewind 6255 days ago | link

Please put links to the rss and lists operators at the bottom of the front page like on hacker news.

-----

2 points by pg 6256 days ago | link | parent | on: New Syntax Feature- Dangling Dot

Interesting idea. Also fits neatly with what intrasymbol . means. Will think about it.

-----

1 point by rntz 6256 days ago | link

It does fit, but on the other hand, being able to have a hanging or prefixed dot could allow useful naming conventions, and as long as it's standardized where dots are allowed, this won't conflict with intrasymbol dots (ie: "foo..bar" translates to one of "(foo .bar)" or "(foo. bar)"). I'm not so concerned about this with regards to dots, but with regard to #\! and #\?, used as suffixes for destructive and predicate functions respectively.

-----

7 points by pg 6257 days ago | link | parent | on: PG quote about Arc: New type of compiler?

This was an earlier experiment that didn't work. Or at least, that I gave up on. The plan was to write a maximally brief (and thus horribly inefficient) meta-circular interpreter, and generate the compiler from it. So you'd literally have the metacircular interpreter as a sort of executable language spec.

I still believe this could be done, but it would be a dissertation's worth of work.

After I gave up on that, Rtm and I decided one summer to just hack together something that compiled into Scheme, and that's what's generating the page that you're reading.

-----

More