Thanks! There's something beautiful about early versions of popular projects that expanded later: you can basically grasp the concept of how everything works together and what the basic ideas were, simplicity at its best.
Is there a particular reason the current HN source code isn't public? Is it security-related (people might find and exploit bugs), privacy/secrecy-related (YC-internal features that aren't publicly disclosed), or just tradition?
More privacy than security related, in the way you're using those terms. There are a lot of anti-abuse features, for example, that need to stay secret (yes we know, 'security by obscurity' etc., but nobody knows how to secure an internet forum from abuse, so we do what we know how to do). It would be a lot of work to disentangle those features from the backbone of the code. Actually pg used to use a clever 'hooks' design to keep those things separate, but inevitably they bleed into each other.
I always loved working in LISP, it was just so concise and really made you focus on code structure and hierachy. Need to get back into it again sometime.
Agreed, there's something special about LISPs I can't quite put my finger on. Which is kind of funny, because I've never used any lisp professionally and I don't think there are very many use cases I'd use one for.
Maybe SICP is just an unreasonably excellent book?
To me, the specialness of LISPs comes from the uniformity of the syntax (which in turn makes code easier to understand and reason about). This is probably highly subjective!
I've enjoyed messing around with Lisp, but for me the uniformity of the syntax makes it harder to reason about - everything looks the same, big blobs of parenthesis.
That's part of its appeal, but also a big part of its downfall I think - other languages can utilize a wider "Ascii spectrum" and represent different things in lexically different ways, making it easier to distinguish at a glance.
Just adding on to this thread as a fairly new lisp enthusiast. I picked up SICP during the pandemic and have really fallen in the lisp rabbit hole and it has been super fun.
I’ve mostly been toying with scheme (guile) and a bit of clojure.
The syntax for me is a drag on the language. Make me spend more than a 2 seconds trying to untangle parameters from function name and you lost me.
What I think made the language special is its level of abstractness. Unless I am mistaken, it is the first language where you could manipulate function as a first-class citizen. This and the ability to use closure. 60 years ago, it was really innovative.
Definitely first-order functions made LISP powerful compared to its contemporaries-- but also you can't mention abstraction without mentioning macros. Macros are first-class metaprogramming, and very much enabled by the uniformity of s-expressions.
That said, people can do awesome stuff with any language, so all this is very subjective IMO.
The current source of Hacker News is proprietary, because this forum is attached to a billion-dollar startup incubator and there's apparently real money to be had for wantrepreneurs trying to game the algorithm, and plenty of "business logic" they would have to remove and whatnot.
The current source of Arc Lisp is at https://arclanguage.org. It isn't open source in that there is any way to contribute or make pull requests that I'm aware of (I may simply be too much of a pleb to know,) rather now and then new versions simply descend from the Lisp gods and are posted. So it's more 'source available.'
The current public fork of Arc Lisp is Anarki at https://github.com/arclanguage/anarki. It has deviated a great deal from Arc and its version of the forum is not in any way in feature parity with Hacker News. But anyone is welcome to make a PR and contribute.
Arc is most definitely "open source", not "proprietary, source available". It's provided under the Artistic License (https://en.wikipedia.org/wiki/Artistic_License). That license is GPL compatible, upholds the "spirit" of FOSS, and is OSI certified.
A bazaar development model is one that takes place in the open with contributions by strangers actively welcomed. A cathedral model involves development behind closed doors with periodic releases. (https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar)
I just work on the forum from time to time so I can't speak much on the language - others have made a lot of changes, the biggest I can think of being using curly braces to create tables. Arc is the first Lisp I've used, and it turns out I'm not a Lisp-1 person. I like proper namespaces and hygienic macros. If I could only change three things about Arc, it would be those and improving error messages.
As far as the forum is concerned - I moved it into a separate folder to create a distinction between "applications" and "library" code. That was controversial. Also related, there's the skeleton of an app manager in progress that will allow creating web app skeletons, and I'm trying to get a plugin manager to work through Arc's hook system.
The end goal (in my head, at least) is that one could install Arc and Arc library code (and possibly language extensions) separately from applications (like the forum, a blog, or whatever you've created for yourself) and from application specific plugins.
The forum page templates have been consolidated so now there's a single page layout with a common UI, which uses HTML lists rather than tables, making page rendering a lot faster. I suspect there's still a lot of work that could be done along those lines - there's just no rational reason why rendering HTML should be as slow as it seems to be sometimes.
And I added some of the user-side features people keep complaining about on HN such as a dark mode, archival links and adjustable font size.
The earliest version of HN I can find; 166 LOC - https://news.ycombinator.com/item?id=723767 - July 2009 (19 comments)
Preliminary release of new Arc version, including latest HN source - https://news.ycombinator.com/item?id=634113 - May 2009 (9 comments)
News.YC open-sourced - https://news.ycombinator.com/item?id=122829 - Feb 2008 (20 comments)
Arc's Out - https://news.ycombinator.com/item?id=106398 - Jan 2008 (124 comments)
Others?