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

Google Drive? You can share a document so anyone with the link can access it.

Another option is Gitlab or Bitbucket. Put the file in a repository (ideally with any of your code for the paper!) and push it.

I can do it for you if you like. Just email the paper to me. (My address is in my profile.)


Seems reasonable to me :)


3 points by akkartik 88 days ago | link | parent | on: Admin Functions?

Did you see the instructions on running a HN clone at the bottom of Basically you add a username you want to designate as the admin, then you use HN as that user. Let me know if you have more questions.


3 points by gfawkes 88 days ago | link

Thanks for your reply akkartik. Yes..I did see what you referred to.... I have created an account using the user name I entered while setting up the software. Opening my admin user account is not the problem. The question I have is where is the admin panel...or how do I administer admin controls? For instance, while being logged in as admin how do I delete a comment? Or a thread? Look at a list of users, etc? One more thing now that I have have your attention, if I may. Do you know of any instructions on how to put anarki HN on my server so anyone can access it? I want to put a forum online for all to use. Thanks again. Guy


2 points by akkartik 87 days ago | link

There isn't much by way of admin tools. Basically what the admin can do is block content in various ways: Beyond that you're expected to rely on the Arc commandline, or to manipulate the files created under anarki/www/news.

Regarding putting HN on a server, you may be interested in this recent thread about a Docker image:


3 points by akkartik 86 days ago | link

Ah, I just remembered seeing various special pages just for admins in news.arc. For example /badsites seems to show sites that have been nuked in the past.

I'm not very familiar with these tools, but scanning for adop and defopa might provide tantalizing hints.


I just want to point out a conversation I had with fauria on GitHub, in case others here have ideas. Currently the HN code doesn't support keeping the HN data (.../anarki/www) on a separate partition from the code (.../anarki) as Docker would like to do to maintain stateless containers. This is because any file creation which performs a create-then-rename first creates the temporary file in .../anarki/tmp. Renames then fail if .../anarki/www is in a different volume.

I'm not sure what the cleanest fix is here.


3 points by akkartik 160 days ago | link | parent | on: Unit-test.arc 1.0 incoming (part II)

Ooh, cool! Let me brush the bitrot off my automatic migration script to update the Anarki tests. Maybe we can do a coordinated launch :o)

(Sorry I just saw this. My muscle memory has been getting into this bad habit lately where I visit only the /newcomments page and not the /new page.)


3 points by zck 160 days ago | link

Heh, no worries. It's taken me, oh, 202 days to update the dang library (I feel like my macro skills have something to be desired, or it would be easier). So no worries about taking four to see this. I was planning on pinging you in a few days if you hadn't seen this.

A coordinated launch would be cool. I'm pretty much ready here; the readme is updated (although it does not explicitly have a version number, which I should add).

But before we get into that, would you mind playing with it a little bit to see if there's anything broken or not working? Thanks.


3 points by akkartik 160 days ago | link

Hmm, strangely I just sent you a pull request to update the Readme. I'm not too familiar with Mercurial or Bitbucket; maybe I'm doing something wrong?

I'll play with it today or tomorrow and make sure all of Anarki's tests update correctly.


3 points by zck 159 days ago | link

Yeah, that was right. Thanks for catching the readme changes -- I guess I had made some but not all.


4 points by akkartik 157 days ago | link

I've updated my script to auto-upgrade Anarki tests[1], and things look pretty good. Just a couple of minor comments:

a) I see a message about redefining assert. Perhaps we should change the name in Anarki or unit-test.arc?

b) The new version complains about duplicate nested suite names inside a test suite. That seems like a reasonable idea, and I just want to confirm that it's intended.

c) If you have a duplicate test name in a suite the error is confusing. Here's the example I ran into from Anarki:

  $ cat x.arc
  (load "unit-test.arc/unit-test.arc")

  (suite cut
    (test finds-element-in-string
      (assert-same '(3 4 5) (cut '(1 2 3 4 5) 2)))
    (test finds-element-in-string        ; duplicate name
      (assert-same "cde" (cut "abcde" 2)))


  $ ./ x.arc
  Can't coerce  #<procedure: cut> string
     anarki/ac.scm:1015:0: ar-coerce
     anarki/ac.scm:1279:0: aload1
Once you switch to unique names everything works fine. But perhaps we can improve the error message?

[1] I'll post the final script here once we "launch".


4 points by zck 156 days ago | link

Yes, it's a desired feature that a suite can't contain two things with the same name -- either suites, tests, or one suite and one test. This is because I want names to be unique. Saying (test cut.finds-element-in-suite) shuld run only one test.

What you ran into is actually a bug I fixed at a meetup on Tuesday. The current error message is:

  Error: "In suite cut, there are two things named finds-element-in-string."
The commit is here: Can you re-pull (hg pull; hg update) and see if it works then? The most recent commit is 96652e5.


3 points by akkartik 156 days ago | link

Ah, you're right. Looks great now!


5 points by akkartik 167 days ago | link | parent | on: [Beginner question] New concepts in Arc

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 167 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 167 days ago | link


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


There's a nice description of this project at


Looks like Scala has some experimental macro feature: I imagine people will be about as likely to use it as they've been to use previous non-lisp macros (i.e. not very likely).

OP isn't about macros because the output of the function isn't automatically evaluated. It's a step in the direction of allowing any programmer to perform compiler transformations and optimizations on his/her own code. I'm very interested in that area.


The key idea: turn strings to code inside quasiquote, and turn code to strings inside unquote.


Great idea! You should put your unit-test.arc in there.

Edit: added a couple of things.