HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
evanrmurphy
SweetScript
Arc2011–2017
evanrmurphy / SweetScript

SweetScript

A lispy language that compiles into JavaScript, strongly influenced by Arc.

2Distinct people
4Mentions
0Explicit recommenders
14GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A lispy language that compiles into JavaScript, strongly influenced by Arc.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

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

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM 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 year4 dated mentions

Observed mentions: 2011-01-20 19:03:16 UTC to 2017-10-19 16:13:00 UTC.

01232011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20112012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017

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
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC110
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC000
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC000
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC000
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC000
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC000
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303

What Hacker News says

4 sources
It's pretty handy. A few times over the years, I've needed to throw together a standard "manage this data" type of app. I just extend the standard blog.arc app that ships with Arc: https://github.com/evanrmurphy/SweetScript/blob/master/arc3.... Bam, you get CRUD for free, you get special superpowers if you're logged in as an admin, and you can put in access controls so that other people can log in as other types of users and see a subset of the data. I dunno, it's pretty great. You even get a REPL at /repl in case you need to hop on and run some code on production. (If something seems amiss, rather than bother with grepping logfiles, you'd head to /repl and start asking questions about the current state of the app. This tends to be a lot faster.)
In Analyzing HN moderation and censorship
Flat files FTW. Proof that a simple solution can scale. And not just in a "Why the fuck would you subject yourself to this torture?" kind of way, but in a "This actually simplifies everything" way. It's why Arc was so fucking fast: remember how impactful memcached was? Arc had that from day one. Here's how it works. Everything is loaded into memory at startup. You can think of it like a bigass JSON tree. Anytime you change the tree, write the whole thing out to disk. Since all the data is loaded from file "foo", and you write out to "foo.tmp" followed by `mv foo.tmp foo`, there is no risk of data loss, ever. So what about sharding? Well, yeah, that's a problem. But it's not a problem that HN had to deal with. You can see how effective it was to throw a single 64GB RAM monster at the problem rather than a cluster of servers. The moment the
Read the rest
y hooked up Cloudflare to HN, they got all the same benefits a big cluster would provide anyway. People can be prejudiced against this simplicity all they want, but it's hard to argue with results. You don't even need to know SQL to start using it. "But migrations --" well, Arc makes it super easy to define a "template", which is just a set of fields, and each field is whatever you want them to be. https://github.com/evanrmurphy/SweetScript/blob/6b4ed26acc9c... (deftem item id nil type nil by nil ip nil time (seconds) url nil title nil text nil votes nil ; elts each (time ip user type score) score 0 sockvotes 0 flags nil dead nil deleted nil parts nil parent nil kids nil keys nil) So yes, theoretically if you wanted to rename "kids" to "children", you're gonna have to process all the old data. But 1. then don't do that, and 2. even still, it's not hard to do that anyway. It's sort of similar to mongoose record definitions. But look, HN is proof positive that this system can work and can scale to a top-1000 website. 99% of webapps won't even come close to those performance requirements. And when you do approach them, you can find ways to make it scale. My main focus has been updating Arc to run on JS, and to add keyword arguments. That way you'll be able to use the whole JS ecosystem too.
In Analyzing HN moderation and censorship
Antirez tried, with lamernews: https://github.com/antirez/lamernews/blob/master/app.rb Diff that vs HN circa 2008: https://github.com/evanrmurphy/SweetScript/blob/master/arc3.... Lamernews seems like just another HN clone, but back when it was launched it was a serious attempt at being a competitor. They probably came closest to pulling away a significant chunk of HN. I started to use it. Then I ran into missing features. Little quality of life stuff. I forget what they were, but the whole site felt noticeably harder to use. So I stopped using it. It's so tempting to think "HN is so simple. Just throw Rails at the problem and you can wipe the floor with them." But Lamernews was 2,964 lines of Ruby, and only managed to contain about 60% of the features. news.arc is 2,616 lines. And I don't care what anybody says: if you sat down and forced
Read the rest
yourself to read that code for a week straight, you'd find it is actually quite readable. It's terse because it's for getting shit done.
In Analyzing HN moderation and censorship

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.