HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
arclanguage
anarki
Arc2008–2025
arclanguage / anarki

anarki

Community-managed fork of the Arc dialect of Lisp; for commit privileges submit a pull request.

116Distinct people
176Mentions
1Explicit recommenders
1.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Community-managed fork of the Arc dialect of Lisp; for commit privileges submit a pull request.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> Anyhow, sorry to derail the black bar discussion. IMNHO Not at all! Just like I love the fact that someone that didn't realize the meaning of the bar, simply asked (and so…

e12e used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 2:59:53 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year176 dated mentions

Observed mentions: 2008-04-15 03:02:27 UTC to 2025-11-25 00:11:41 UTC.

05101520252008-01-01 00:00:00 UTC to 2009-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20082009-01-01 00:00:00 UTC to 2010-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 23 mentions; 1 submissions, 22 comments2011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 24 mentions; 2 submissions, 22 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 16 mentions; 1 submissions, 15 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 12 mentions; 2 submissions, 10 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20082008-01-01 00:00:00 UTC2009-01-01 00:00:00 UTC606
20092009-01-01 00:00:00 UTC2010-01-01 00:00:00 UTC808
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC23122
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC24222
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC514
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC10010
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC505
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC909
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC808
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC514
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC16115
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC13013
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC12210
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC808
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC909
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC909
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC413
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
Anarki A publicly modifiable 'wiki-like' fork of Arc Lisp The intention is to be extremely permissive in accepting patches. For commit privileges, just submit your first pull request or ask on Arc Language Forum. Getting started Installation First install Racket (v7.7 or later), then in a terminal, run: $ raco pkg install sha $ git clone http://github.com/arclanguage/anarki $ cd anarki You can start the interactive repl with: $ ./arc.sh Or start news (and the repl) with: $ cd apps/news $ ./run-news Tutorial If you're new to Arc, or Lisp in general, a good starting point is the Tutorial. Documentation and help If you run into trouble, check Arc Language Forum Arc Language Wiki Arc Language Documentation Arc's built-in help system by typing (help) at the repl News Site Anarki comes bundled with News, a Hacker News style app. Admins To run News, first pick your (the admin's) username, $ cd anarki/apps/news $ mkdir www $ echo __username__ > www/admins You can have multiple admins. Add them all to www/admins, separated by whitespace. Starting the server Warning: If you are already running a News site, migrating to this fork might mess up your site's data. Come talk to us first, and be sure to make a backup before the migration. Now bring up the server, $ ./run-news There'll be a pause while the server loads up, with some messages, then you'll see the arc> prompt. Go to http://localhost:8080. Click on login, and create the account for your username. You should now be logged in as an admin. (Don't worry about user break or error writing messages.) Customization To customize News, change the variables at the top of apps/news/news.arc. To change the port your server runs at, modify apps/news/run-news.arc. Any interactive changes to the prompt will be reflected immediately in the server, without needing to restart it. Hence if you make any changes to apps/news/news.arc, you can load them, by typing (load "apps/news/news.arc") in the repl. If you stop the server or it dies for some reason, previously entered commands are available in the command history (at least if you have Readline installed). HTTPS You may want to serve News securely over HTTPS. An example configuration for running Nginx with SSL as a reverse proxy for News can be found in anarki/extras/news.nginx.conf. Resetting passwords For password reset mails to be sent out, your must set up an email account to send these from, $ echo "someone@example.com" > www/app-email ; email $ echo "smtp.example.com" >> www/app-email ; smtp server $ echo "someone@example.com" >> www/app-email ; user $ echo "1234" >> www/app-email ; password Development Tests Anarki has thorough automated tests. # start in the anarki directory $ ./arc.sh arc> (load "tests.arc") Anarki is explicitly not constrained to maintain compatibility with upstream releases, and compatibility status may swing wildly from commit to commit depending on who takes an interest. To see a list of what's different, type (incompatibilities) at the repl. If you make an incompatible change, please update this list. Anybody is welcome to make changes to Anarki, but please make sure the tests continue to pass. Since we rely on the unit-test.arc test harness, please also run its tests before committing any changes: $ ./arc.sh (require 'lib/unit-test.arc/unit-test.arc) (load "unit-test.arc/tests.arc") (test-and-error-on-failure) Racket interop Racket expressions can be evaluated with the ($ ...) syntax. For instance, (($ crypto-random-bytes) 16) obtains the crypto-random-bytes function from Racket and makes a call to it. If you write lots of Racket code and you just want to use Anarki for part of a bigger project, you can raco pkg install anarki and use Anarki to write Racket modules: #lang anarki (:provide function-for-use-in-racket) (= racket-import ($.dynamic-require ...)) (load "relative/path.arc") (def utility-for-use-in-racket (x) (* x (racket-import x)) Scope Note that Anarki does not have private module scopes; the (:provide ...) section is just there to make it easy to require an Anarki-based library from Racket. Keyword arguments Anarki has some issues passing keyword arguments to Racket functions, but Racket's keyword-apply can be used for that.
Read the full README on GitHub

What Hacker News says

24 sources
barely any documentation Ah, I've only recently begun to overcome that myself. Even though the docs at files.arcfn.com/doc are a bit dated (they were written at version 2) I found them to be one of the only resources besides pg's minimal tutorial. You could also try anarki as well; it has a useful help function that prints some documentation for many of its functions and macros. You can clone the anarki repo from github.com/nex3/arc. how the requests are handled Look for the defop statements in news.arc. I don't know news.arc as well as I know the blog.arc file, but there's probably a statement that begins with something like (defop news req ; ... ) nor where data is stored There should be a variable defined in news.arc named arcdir* and another named staticdir* I'm not entirely sure how posts and comments are s
Read the rest
tored as files for news.arc, but they're probably stored as templates in a folder inside the arc directory. Any images or css files that you want to use need to be kept in the static directory, typically named static. When you reference images or css from you page definitions, you'll need to treat the static directory as the root of your server. Hope that helps; I know the community is kind of a mess for arc.
In Library News (HN for Libraries)
Here is some background on the status of the code (from about a year ago) - http://news.ycombinator.com/item?id=1833010 Here's a brief explanation of how to get it up and running - https://github.com/nex3/arc/blob/master/how-to-run-news I had arc.news up and running a few months ago. The code is quite outdated but has all the essentials to get your own HN site. Truthfully, it'd be very nice so get a crack at some more recent code. Personally, I'd love to use arc.news to run a closed news aggregator/discussion site for a close group of friends.
In Does HN have an open source code?
I would like to be able to read HN on mobile devices more easily. I commited some code on github that achieves that: https://github.com/nex3/arc/commit/0efaa1b189c4ed54c4f91a7ec... It only adds a viewport meta tag and some styling which applies to small screens only by using a media query. Please use it! Afterwards the site will look like this on the iphone: http://minus.com/lGBmQmM4CrdHE Sidenote: Why can I commit directly to the github repository? I thought that by clicking edit, I would create a fork and work on that and create a pull request later. Strange. Or is this some kind of open-to-all repository?
In Please tell us what features you'd like in news.ycombinator
Isn't all the ARC source code for Hacker News still available in one of the public depositories? After edit: Here's a link about how to install ARC, which includes the forum software. http://arclanguage.org/install See this GitHub link for more information: https://github.com/nex3/arc/blob/master/how-to-run-news (I have never read the source code. I learn about how the software works here inductively, by using it.)
In Ask PG: Is there any chance of getting points displayed again
Well currently the pagination implemented using a closure so there is obviously some state that is kept on the server and used to calculate what should appear when "next page" is clicked. Why can't the link to page 2 include the data that would be available to the closure? That way the client is responsible for keeping track of the user's session, and not the server. Edit: Here is the source: https://github.com/nex3/arc/blob/master/news.arc#L948 Looking at that has made me realise I can't read Lisp.
In Hacker News gives "Unknown or expired link" Often when I click "More"

Showing the 15 most recent of 24 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.