Arc Forumnew | comments | leaders | submitlogin
[Beginner question] New concepts in Arc
4 points by rchmielarz 2940 days ago | 5 comments
Hi all, I'm sorry for asking a basic question like that, but what are the new concepts in Arc? I have glimpsed over the reference guide (https://arclanguage.github.io/ref/foundation-doc.html) and I could see that it supports: - type tagging - macros - atomic operations

Inspired by the read of Paul's Graham "The Hundred Year Language" I've been on a mission lately to find an existing language with novel ideas and I'm surprised to notice that the vast majority of the "new" languages are different only in syntax and keywords choice. And they are missing those new abstractions that bend Your mind to a new way of thinking. The only languages I have found noteworthy at this point are Haskell and Perl 6 (to my surprise) as the former is introducing pure functions and monads while the latter has gradual typing and informative error messages.

Looking at Arc right now I fail to see anything that is not already covered by other Lisps, hence my question.

Thanks for sharing Your thoughts, Radek



5 points by malisper 2939 days ago | link

I don't think there is any one particular feature that is groundbreaking in Arc, although as a whole, Arc does have some interesting qualities. For example, code in Arc is much more succinct than code in other languages. When designing Arc, Graham would write a piece of code. He would then look at that piece of code and figure out what features would allow him to make that piece of code shorter. From there, he would implement that feature and rewrite the code. Due to this process, Arc has a large number of very simple utilities (e.g. check). With all of these utilities, code in Arc is much more concise than the equivalent code in other languages.

-----

5 points by akkartik 2939 days ago | link

Others may disagree here, but I don't think Arc was really intended to contain new concepts. The phrasing of "Hundred Year Language" was I think a nod to timelessness rather than novelty. It was an attempt to take questionable novelties out of Lisp (like hygienic macros) and to clean up ill-thought-out interfaces (the keyword choices you alluded to).

-----

5 points by malisper 2939 days ago | link

"Hundred Year Language" is a bit of misnomer. Graham's original essay is a thought experiment on what the language we will be using in a hundred years will look like. Graham believed it would be useful to try and implement the language we will be using in a hundred years and in doing so, came up with Arc.

-----

5 points by rchmielarz 2939 days ago | link

Hi,

I've reread the article and You are right, the author's intention seems to be getting rid of unnecessary constructs. I guess then that I'm looking for something that Arc is not (powerful abstractions included in the language from the get-go).

Thanks for the answer! Radek

-----

3 points by keat 2933 days ago | link

You might want to check out Hoon for Urbit. http://urbit.org/docs/hoon/mission/

-----