8 ms·
What's happening with Arc?
- pg 16y agoI'll probably release a new version later this year. Most of the changes will be in news.arc, which is now pretty solid. Maybe I'll actually make an effort to make it installable without having to understand the source.
- ygd 16y agoI've always been meaning to check it out, but the barrier of entry has been too high (likely due to my laziness). IMO: an installer would be a good idea, availability on aptitude would be the best.
- evanrmurphy 16y ago5 shell commands to install and run Arc using aptitude: http://news.ycombinator.com/item?id=1833416 http://news.ycombinator.com/item?id=1833416
- deleted 16y ago[deleted]
- metamemetics 16y agoDo you have any thoughts on a built in help operator mapping other operators to docstrings?
- evanrmurphy 16y agoThere is one in Anarki: http://github.com/nex3/arc/tree/master/help/ http://github.com/nex3/arc/tree/master/help/ Usage examples: arc> help.acons [fn] (acons x) Determines if `x' is a `cons' cell or list. Unlike 'alist, this function will return nil if given an empty list See also [[atom]] [[alist]] [[dotted]] [[isa]] [[cons]] [[list]] nil arc> help.alist [fn] (alist x) Return true if argument is a possibly empty list Unlike 'acons, this function returns t when given an empty list See also [[atom]] [[acons]] [[dotted]] [[isa]] [[cons]] [[list]] nil arc> help.afn [mac] (afn parms . body) Creates a function which calls itself with the name `self'. See also [[fn]] [[rfn]] [[aif]] [[awhen]] [[aand]] nil
- metamemetics 16y agoBtw I enjoyed your http://www.tryarc.org http://www.tryarc.org website, great job. It needs a big GET ARC button at the bottom though. Linking either to the canonical install page on arclanguage.org or the community anarki git repo. The decision is yours as to which one, no pressure ;) [ The site is an amazing piece of advertising, but it's not closing the sale :/ ]
- evanrmurphy 16y agomake it installable without having to understand the source I wouldn't say that understanding Arc's source is a prerequisite for installation. The problem is more just that the instructions are complex [1]. It would probably help if they were updated to let people know that with arc3.1, you don't have to worry about installing version 372 of MzScheme [2]. (Unless there's some reason why you'd prefer people installed arc3.0.) Navigating their website to download the specific old version of MzScheme is especially confusing since they rebranded as Racket. This reduces the install and run to (on Ubuntu 10.04): $ sudo aptitude install mzscheme $ wget http://ycombinator.com/arc/arc3.1.tar $ tar -xvf arc3.1.tar $ cd arc3.1 $ mzscheme -f as.scm --- [1] http://arclanguage.org/install http://arclanguage.org/install [2] http://arclanguage.org/item?id=10254 http://arclanguage.org/item?id=10254
- SiVal 16y agoGraham cares about having a better programming language, but he doesn't really care enough to do what it takes to make it happen. (He has no obligation to do so, of course.) Practical programming languages these days aren't just ways of expressing "algorithms," but toolkits for marshalling the vast information processing resources around the world (people, libraries, net protocols, platforms from microcontroller to supercluster, communications systems, etc.) The number of issues is enormous and growing. Useful programming languages have to have a whole army of specialists who provide feedback and code dealing with security, internationalization, performance, accessibility, net protocols, commercial-grade GUI wrapper/frameworks, installers, compilers/runtimes for countless platforms, scientific computing, embedded/realtime computing, frameworks of all sorts, dev tools.... Many of these things will be done poorly, if at all, if not accounted for in the design of the foundations of the language. That's the reason for the serious warts on all popular languages and the desire of many for something better designed. Yet Graham's approach is, as always, to work privately, get feedback from the same half-dozen friends, then make announcements on a "when we have something to announce, I'll announce it, so don't bother asking" schedule. If none of his friends knows enough about international coding issues, for example, to even realize how little they know about text (something more important to Lisp than to most languages), then he'll make a silly architectural decision regarding Unicode, which he'll announce to, not discuss with, the rest of the world. Hey, if my friends don't seem concerned by it, it can't be very important, right? This is too bad. Few languages have the potential Lisp has for creating flexible, evolvable code that can rapidly adapt to the changing world. Yes, I do think that the language matters, but it's the whole platform, not just the syntax. But I don't think you can create a successful, practical, general purpose language these days without an army of specialist volunteers behind you. Graham's message to specialist volunteers is "go away, you're not the people whose opinions I care about," so I think the language WILL last 100 years--in approximately its current form.
- rglovejoy 16y agoI'm playing around with it. Right now, my spare-time project is filling out the blogging software that came with the language. I am finding that it's a lot of fun to work with.
- jackowayed 16y agoWhy would I use Arc? In particular, I've been playing with Clojure and enjoying that. It's still a Lisp, so it has a lot of the advantages that Arc has. In addition, it has some cool unique features and almost certainly has more comprehensive libraries thanks to being able to use Java libraries. What advantages does Arc have over Clojure? I'm not trying to be mean to Arc lovers and call it a useless language. I genuinely want an excuse to give Arc a try.
- mechanical_fish 16y agoWhat advantages does Arc have over Clojure? It has nothing to do with Oracle's Java and vice versa. If that doesn't seem like much of an advantage to you, you're probably right, and it isn't, and godspeed. There is no pressing need to learn Arc today. (I haven't yet, myself, though not for lack of ambition.) Arc will still be there, still unconnected to anything Java, in five years; we'll see how it feels then.
- khafra 16y agoAlmost unrelatedly, any idea if there's a strong push for a more current, well-maintained .NET/mono version of Clojure, now that the JVM is going down in flames?
- yena 16y agoYes, ClojureCLR. It is supposed to work on Mono as well.
- fleitz 16y agoI know that they aren't even close in terms of source code compatibility but if you're looking for a functional language on the CLR, give F# a try.
- nickik 16y agoclojure is trying to bootstrap it self to be able to be on many platforms but for that we need 1. the proper primitives to make it possible (done in 1.2) 2. match java speed (working on it primitive types ...) 3. rewrite the data structures and compiler in clojure Thats the plan to let clojure fly. As for CLR the implementation is pretty good and there is a binary but there wont be a strong push. Btw. i do not belive that the jvm is going down in flames. Thats typical trollhyping.
- deleted 16y ago[deleted]
- loewenskind 16y agoPersonally I have a hard time seeing what the goal for Arc would be. "100 year language" seems pretty fuzzy. I mean, Lisp is already at least a 100 year language IMO so what could Arc do to make itself more so? What is it going to do that the other two popular Lisp-1s don't? The only differentiator I've seen so far is pg's confusion of terse for concise [1]. I think there is always more room for programming languages in the world, especially given how awful most of them are. I just think they need some clear reason to exist or their creation isn't worth the fracturing effect [2]. [1] Personally I use terse to mean "short and unreadable" and concise to mean "short and more readable" (think: "I didn't have time to write a short letter..."). The first thing that occurred to me when I saw Arc was "oh man, a bunch of cryptic one or two letter functions. Is this meant to be programmed over a 1200 baud modem or something?" Every one of those kinds of things is something that has to be memorized, and given how much more advanced IDEs are today what's lost in readability is not made up in typing savings. For me the classic example of "concisity" is Smalltalk. Most methods are just a line or two, they read almost literally as English yet so much is said with so little. No meaningless cryptic two letter sequences but yet one line is equivalent to at least 3 lines of Java [3]. [2] I.e. users becoming party of a community of this new mostly irrelevant language A instead of helping the community of the language that would have been said to obsolete A if it had been written after A instead of before it. [3] http://www.cincomsmalltalk.com/blog/blogView?showComments=true&printTitle=Smalltalk_and_Productivity&entry=3256379312 http://www.cincomsmalltalk.com/blog/blogView?showComments=tr...
- hasenj 16y agoI like your "terse vs concise" argument. I always felt that PG's notion of succinct is analogous to "cryptic". Short is not always good.
- silentbicycle 16y agoIt probably has a positive correlation, but isn't an end in itself. "Short" languages typically have a programming model which makes common coding tasks implicit: ML (and other languages with type inference) make most type annotations implicit, pattern-matching languages (Erlang, Prolog, ML, Haskell, awk) make a lot of de-structuring and switching code implicit, APL dialects (APL, J, K/Q, etc.) make looping implicit, concatenative languages (i.e. Forth, Joy, Factor) and tacit / "points-free" languages (Haskell and J, again) make variables and dataflow implicit, constraint and/or logic languages (Prolog, Mercury, Oz) make search implicit, etc. It's often a net win, but some problems inevitably clash with their model - it seems important to have some kind of escape built into the language.
- olalonde 16y agoWasn't Arc meant to be a toy/academic language?
- silentbicycle 16y agoWasn't Unix written to play Space Travel (http://www.courses.fas.harvard.edu/~lib215/reference/history/spacetravel.html http://www.courses.fas.harvard.edu/~lib215/reference/history...)?